[PATCH] dma-buf: Move sysfs work out of DMA-BUF export/release path
Hridya Valsaraju
hridya at google.com
Wed Jan 5 18:38:02 UTC 2022
On Wed, Jan 5, 2022 at 7:13 AM Greg Kroah-Hartman
<gregkh at linuxfoundation.org> wrote:
>
> On Tue, Jan 04, 2022 at 03:51:48PM -0800, Hridya Valsaraju wrote:
> > Recently, we noticed an issue where a process went into direct reclaim
> > while holding the kernfs rw semaphore for sysfs in write(exclusive)
> > mode. This caused processes who were doing DMA-BUF exports and releases
> > to go into uninterruptible sleep since they needed to acquire the same
> > semaphore for the DMA-BUF sysfs entry creation/deletion. In order to avoid
> > blocking DMA-BUF export/release for an indeterminate amount of time
> > while another process is holding the sysfs rw semaphore in exclusive
> > mode, this patch moves the per-buffer sysfs file creation/deleteion to
> > a kthread.
> >
> > Fixes: bdb8d06dfefd ("dmabuf: Add the capability to expose DMA-BUF stats in sysfs")
> > Signed-off-by: Hridya Valsaraju <hridya at google.com>
> > ---
> > drivers/dma-buf/dma-buf-sysfs-stats.c | 343 ++++++++++++++++++++++++--
> > include/linux/dma-buf.h | 46 ++++
> > 2 files changed, 366 insertions(+), 23 deletions(-)
>
> Crazy, but if this works in your testing, it looks ok to me. Nice work.
>
> Reviewed-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Thank you for the review Greg :)
More information about the dri-devel
mailing list