[PULL] drm-misc-fixes

2023-07-27 Thread Maxime Ripard
Hi, Here's this week drm-misc-fixes PR Maxime drm-misc-fixes-2023-07-27: A single patch to remove an unused function. The following changes since commit ea293f823a8805735d9e00124df81a8f448ed1ae: drm/nouveau/kms/nv50-: init hpd_irq_lock for PIOR DP (2023-07-19 11:08:47 +0200) are available i

Re: [PATCH -next] drm: omapdrm: dss: Remove redundant DSSERR()

2023-07-27 Thread Ruan Jinjie
On 2023/7/27 14:57, Uwe Kleine-König wrote: > Hello, > > On Thu, Jul 27, 2023 at 11:39:23AM +, Ruan Jinjie wrote: >> There is no need to call the DSSERR() function directly to print >> a custom message when handling an error from platform_get_irq() function >> as it is going to display an a

Re: [PATCH v2 37/47] xfs: dynamically allocate the xfs-inodegc shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the xfs-inodegc shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section

Re: [PATCH v2 39/47] zsmalloc: dynamically allocate the mm-zspool shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the mm-zspool shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section wh

Re: [PATCH v2 30/47] virtio_balloon: dynamically allocate the virtio-balloon shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the virtio-balloon shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical secti

Re: [PATCH v2 32/47] ext4: dynamically allocate the ext4-es shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the ext4-es shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section when

Re: [PATCH v2 29/47] vmw_balloon: dynamically allocate the vmw-balloon shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the vmw-balloon shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section

Re: [PATCH v2 36/47] xfs: dynamically allocate the xfs-buf shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the xfs-buf shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section when

Re: [PATCH v2 38/47] xfs: dynamically allocate the xfs-qm shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the xfs-qm shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section when

Re: [PATCH v2 41/47] mm: shrinker: remove old APIs

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > Now no users are using the old APIs, just remove them. > > Signed-off-by: Qi Zheng Reviewed-by: Muchun Song

Re: [PATCH v2 33/47] jbd2, ext4: dynamically allocate the jbd2-journal shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the jbd2-journal shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section

Re: [PATCH v2 42/47] drm/ttm: introduce pool_shrink_rwsem

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > Currently, the synchronize_shrinkers() is only used by TTM pool. It only > requires that no shrinkers run in parallel. > > After we use RCU+refcount method to implement the lockless slab shrink, > we can not use shrinker_rwsem or synchronize_rc

[PATCH] dt-bindings: qcom: Update RPMHPD entries for some SoCs

2023-07-27 Thread Rohit Agarwal
Update the RPMHPD references with new bindings defined in rpmhpd.h for Qualcomm SoCs SM8[2345]50. Signed-off-by: Rohit Agarwal --- Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml| 3 ++- Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml | 3 ++- Documentation

Re: [PATCH] drm/mgag200: Increase bandwidth for G200se A rev1

2023-07-27 Thread Roger Sewell
Jocelyn, >> How can I check for sure whether I am using 24 or 32 bits per pixel >> ? > > The easiest solution if you already rebuilt your kernel is to print > the variable bpp here: > > https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/mgag200/mgag200_mode.c#L326 > > pr_info("mga

Re: [PATCH] dt-bindings: qcom: Update RPMHPD entries for some SoCs

2023-07-27 Thread Pavan Kondeti
On Thu, Jul 27, 2023 at 10:21:10AM +0530, Rohit Agarwal wrote: > Update the RPMHPD references with new bindings defined in rpmhpd.h > for Qualcomm SoCs SM8[2345]50. > > Signed-off-by: Rohit Agarwal > --- > Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml| 3 ++- > Documentatio

dri-devel@lists.freedesktop.org

2023-07-27 Thread Chengfeng Ye
Sorry for the interruption, I just notice that the ndlp node inside timer does not share with that of lpfc_cleanup_pending_mbox(). This is a false alarm and sorry again for this. Best regards, Chengfeng

dri-devel@lists.freedesktop.org

2023-07-27 Thread Chengfeng Ye
As &ndlp->lock is acquired by timer lpfc_els_retry_delay() under softirq context, process context code acquiring the lock &ndlp->lock should disable irq or bh, otherwise deadlock could happen if the timer preempt the execution while the lock is held in process context on the same CPU. The two lock

Re: [PATCH v2 43/47] mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred}

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > Currently, we maintain two linear arrays per node per memcg, which are > shrinker_info::map and shrinker_info::nr_deferred. And we need to resize > them when the shrinker_nr_max is exceeded, that is, allocate a new array, > and then copy the old

Re: [PATCH] dt-bindings: qcom: Update RPMHPD entries for some SoCs

2023-07-27 Thread Pavan Kondeti
On Thu, Jul 27, 2023 at 12:24:10PM +0530, Rohit Agarwal wrote: > > On 7/27/2023 11:06 AM, Pavan Kondeti wrote: > > On Thu, Jul 27, 2023 at 10:21:10AM +0530, Rohit Agarwal wrote: > > > Update the RPMHPD references with new bindings defined in rpmhpd.h > > > for Qualcomm SoCs SM8[2345]50. > > > > >

Re: [PATCH] dt-bindings: qcom: Update RPMHPD entries for some SoCs

2023-07-27 Thread Rohit Agarwal
On 7/27/2023 11:06 AM, Pavan Kondeti wrote: On Thu, Jul 27, 2023 at 10:21:10AM +0530, Rohit Agarwal wrote: Update the RPMHPD references with new bindings defined in rpmhpd.h for Qualcomm SoCs SM8[2345]50. Signed-off-by: Rohit Agarwal --- Documentation/devicetree/bindings/clock/qcom,dispcc-

Re: [PATCH v2 28/47] bcache: dynamically allocate the md-bcache shrinker

2023-07-27 Thread Muchun Song
On 2023/7/24 17:43, Qi Zheng wrote: In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the md-bcache shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the st

[PATCH -next] drm/bridge: fix -Wunused-const-variable= warning

2023-07-27 Thread Zhu Wang
When building with W=1, the following warning occurs. drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c:48:17: warning: ‘anx781x_i2c_addresses’ defined but not used [-Wunused-const-variable=] static const u8 anx781x_i2c_addresses[] = { ^ drivers/gpu/drm/brid

[PATCH -next] drm/radeon: fix -Wunused-but-set-variable warning

2023-07-27 Thread Zhu Wang
When building with W=1, the following warning occurs. drivers/gpu/drm/radeon/radeon_ttm.c:200:20: warning: variable ‘rbo’ set but not used [-Wunused-but-set-variable] struct radeon_bo *rbo; The variable 'rbo' is used only in WARN_ON_ONCE in the function radeon_bo_move, and WARN_ON_ONCE is remo

[PATCH v2] gpu: drm: Use dev_err_probe instead of dev_err

2023-07-27 Thread Wang Ming
It is possible that dma_request_chan will return EPROBE_DEFER, which means that disp->dev is not ready yet. In this case, dev_err(disp->dev), there will be no output. This patch fixes the bug. Signed-off-by: Wang Ming --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 4 ++-- 1 file changed, 2 insertions(

Re: [PATCH v2 31/47] mbcache: dynamically allocate the mbcache shrinker

2023-07-27 Thread Muchun Song
> On Jul 24, 2023, at 17:43, Qi Zheng wrote: > > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the mbcache shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section when

Re: [PATCH 2/3] dt-bindings: display: panel: Document Hydis HV070WX2-1E0

2023-07-27 Thread Krzysztof Kozlowski
On 26/07/2023 20:50, Thierry Reding wrote: > From: Thierry Reding > > The Hydis HV070WX2-1E0 is a 7" WXGA (800x1280) TFT LCD LVDS panel that > is one of the variants used on Google Nexus 7. > > Signed-off-by: Thierry Reding > --- > Documentation/devicetree/bindings/display/panel/panel-lvds.yam

dri-devel@lists.freedesktop.org

2023-07-27 Thread Chengfeng Ye
As &ndlp->lock is acquired by timer lpfc_els_retry_delay() under softirq context, process context code acquiring the lock &phba->hbalock should disable irq or bh, otherwise deadlock could happen if the timer preempt the execution while the lock is held in process context on the same CPU. The two l

Re: [PATCH 1/3] dt-bindings: display: panel: Move HannStar HSD101PWW2 to LVDS

2023-07-27 Thread Krzysztof Kozlowski
On 26/07/2023 20:48, Thierry Reding wrote: > From: Thierry Reding > > The HannStar HSD101PWW2 is an LVDS panel, so move it to the correct > bindings file. > > Signed-off-by: Thierry Reding > --- Acked-by: Krzysztof Kozlowski Best regards, Krzysztof

Re: [PATCH v2 40/47] fs: super: dynamically allocate the s_shrink

2023-07-27 Thread Muchun Song
On 2023/7/24 17:43, Qi Zheng wrote: In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the s_shrink, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct super

Re: [PATCH 1/3] dt-bindings: display: panel: Move Chunghwa CLAA070WP03XG to LVDS

2023-07-27 Thread Krzysztof Kozlowski
On 26/07/2023 20:50, Thierry Reding wrote: > From: Thierry Reding > > The Chunghwa CLAA070WP03XG is an LVDS panel, so move it to the correct > bindings file. > > Signed-off-by: Thierry Reding > --- Acked-by: Krzysztof Kozlowski Best regards, Krzysztof

Re: [PATCH v2] drm/mediatek: Fix potential memory leak if vmap() fail

2023-07-27 Thread suijingfeng
Hi, Thanks a lot! On 2023/7/27 09:47, CK Hu (胡俊光) wrote: Hi, Jingfeng: On Thu, 2023-07-06 at 21:40 +0800, Sui Jingfeng wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > Also return -ENOMEM if such a failure h

Re: [PATCH] drm/ttm: check null pointer before accessing when swapping

2023-07-27 Thread Christian König
Am 24.07.23 um 15:36 schrieb Alex Deucher: On Sun, Jul 23, 2023 at 10:43 PM Guchun Chen wrote: Add a check to avoid null pointer dereference as below: [ 90.002283] general protection fault, probably for non-canonical address 0xdc00: [#1] PREEMPT SMP KASAN NOPTI [ 90.002292

RE: [PATCH] drm/ttm: check null pointer before accessing when swapping

2023-07-27 Thread Chen, Guchun
[Public] > -Original Message- > From: Koenig, Christian > Sent: Thursday, July 27, 2023 3:28 PM > To: Alex Deucher ; Chen, Guchun > > Cc: Deucher, Alexander ; airl...@gmail.com; > dan...@ffwll.ch; dri-devel@lists.freedesktop.org; Mikhail Gavrilov > > Subject: Re: [PATCH] drm/ttm: check

RE: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages)

2023-07-27 Thread Kasireddy, Vivek
Hi Jason, > > On Tue, Jul 25, 2023 at 10:44:09PM +, Kasireddy, Vivek wrote: > > > If you still need the memory mapped then you re-call hmm_range_fault > > > and re-obtain it. hmm_range_fault will resolve all the races and you > > > get new pages. > > > IIUC, for my udmabuf use-case, it looks

Re: [PATCH] drm/ttm: check null pointer before accessing when swapping

2023-07-27 Thread Mikhail Gavrilov
On Thu, Jul 27, 2023 at 12:33 PM Chen, Guchun wrote: > > Reviewed-by: Christian König > > > > Has this already been pushed to drm-misc-next? > > > > Thanks, > > Christian. > > Not yet, Christian, as I don't have push permission. I saw you were on > vacation, so I would expect to ping you to push

Re: [PATCH v2] dma-buf: Fix the typo in DMA-BUF statistics doc

2023-07-27 Thread Christian König
Am 18.07.23 um 13:16 schrieb Luc Ma: From: Luc Ma The kernel-doc for DMA-BUF statistics mentions /sys/kernel/dma-buf/buffers but the correct path is /sys/kernel/dmabuf/buffers instead. Signed-off-by: Luc Ma Reviewed-by: Javier Martinez Canillas Reviewed and pushed to drm-misc-next. Thanks

Re: [Freedreno] [PATCH 06/12] drm/msm/adreno: Allow SoC specific gpu device table entries

2023-07-27 Thread Konrad Dybcio
On 27.07.2023 00:53, Rob Clark wrote: > On Wed, Jul 26, 2023 at 3:33 PM Dmitry Baryshkov > wrote: >> >> On Thu, 27 Jul 2023 at 01:04, Rob Clark wrote: >>> >>> On Wed, Jul 26, 2023 at 2:43 PM Dmitry Baryshkov >>> wrote: On 26/07/2023 23:11, Rob Clark wrote: > On Wed, Jul 26, 2023 at

Re: [PATCH 1/3] dt-bindings: display: panel: Move HannStar HSD101PWW2 to LVDS

2023-07-27 Thread Laurent Pinchart
Hi Thierry, Thank you for the patch. On Wed, Jul 26, 2023 at 08:48:55PM +0200, Thierry Reding wrote: > From: Thierry Reding > > The HannStar HSD101PWW2 is an LVDS panel, so move it to the correct > bindings file. > > Signed-off-by: Thierry Reding > --- > Documentation/devicetree/bindings/dis

Re: [PATCH 1/3] dt-bindings: display: panel: Move Chunghwa CLAA070WP03XG to LVDS

2023-07-27 Thread Laurent Pinchart
Hi Thierry, Thank you for the patch. On Wed, Jul 26, 2023 at 08:50:08PM +0200, Thierry Reding wrote: > From: Thierry Reding > > The Chunghwa CLAA070WP03XG is an LVDS panel, so move it to the correct > bindings file. > > Signed-off-by: Thierry Reding Reviewed-by: Laurent Pinchart > --- > D

Re: [PATCH 2/3] dt-bindings: display: panel: Document Hydis HV070WX2-1E0

2023-07-27 Thread Laurent Pinchart
Hi Thierry, Thank you for the patch. On Wed, Jul 26, 2023 at 08:50:09PM +0200, Thierry Reding wrote: > From: Thierry Reding > > The Hydis HV070WX2-1E0 is a 7" WXGA (800x1280) TFT LCD LVDS panel that > is one of the variants used on Google Nexus 7. > > Signed-off-by: Thierry Reding Reviewed-b

[PATCH v3 00/49] use refcount+RCU method to implement lockless slab shrink

2023-07-27 Thread Qi Zheng
Hi all, 1. Background = We used to implement the lockless slab shrink with SRCU [1], but then kernel test robot reported -88.8% regression in stress-ng.ramfs.ops_per_sec test case [2], so we reverted it [3]. This patch series aims to re-implement the lockless slab shrink using the re

[PATCH v3 01/49] binder: fix memory leak in binder_init()

2023-07-27 Thread Qi Zheng
In binder_init(), the destruction of binder_alloc_shrinker_init() is not performed in the wrong path, which will cause memory leaks. So this commit introduces binder_alloc_shrinker_exit() and calls it in the wrong path to fix that. Fixes: f2517eb76f1f ("android: binder: Add global lru shrinker to

[PATCH v3 02/49] mm: move some shrinker-related function declarations to mm/internal.h

2023-07-27 Thread Qi Zheng
The following functions are only used inside the mm subsystem, so it's better to move their declarations to the mm/internal.h file. 1. shrinker_debugfs_add() 2. shrinker_debugfs_detach() 3. shrinker_debugfs_remove() Signed-off-by: Qi Zheng --- include/linux/shrinker.h | 19 ---

[PATCH v3 03/49] mm: vmscan: move shrinker-related code into a separate file

2023-07-27 Thread Qi Zheng
The mm/vmscan.c file is too large, so separate the shrinker-related code from it into a separate file. No functional changes. Signed-off-by: Qi Zheng --- mm/Makefile | 4 +- mm/internal.h | 2 + mm/shrinker.c | 709 ++ mm/vmscan.c | 701 ---

[PATCH v3 04/49] mm: shrinker: remove redundant shrinker_rwsem in debugfs operations

2023-07-27 Thread Qi Zheng
The debugfs_remove_recursive() will wait for debugfs_file_put() to return, so the shrinker will not be freed when doing debugfs operations (such as shrinker_debugfs_count_show() and shrinker_debugfs_scan_write()), so there is no need to hold shrinker_rwsem during debugfs operations. Signed-off-by:

[PATCH v3 05/49] mm: shrinker: add infrastructure for dynamically allocating shrinker

2023-07-27 Thread Qi Zheng
Currently, the shrinker instances can be divided into the following three types: a) global shrinker instance statically defined in the kernel, such as workingset_shadow_shrinker. b) global shrinker instance statically defined in the kernel modules, such as mmu_shrinker in x86. c) shrinker

[PATCH v3 06/49] kvm: mmu: dynamically allocate the x86-mmu shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the x86-mmu shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- arch/x86/kvm/mmu/mmu.c | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index ec169f5c7dce..15fc

[PATCH v3 07/49] binder: dynamically allocate the android-binder shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the android-binder shrinker. Signed-off-by: Qi Zheng --- drivers/android/binder_alloc.c | 31 +++ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c index

[PATCH v3 08/49] drm/ttm: dynamically allocate the drm-ttm_pool shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the drm-ttm_pool shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- drivers/gpu/drm/ttm/ttm_pool.c | 23 +++ 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/t

[PATCH v3 09/49] xenbus/backend: dynamically allocate the xen-backend shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the xen-backend shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- drivers/xen/xenbus/xenbus_probe_backend.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/driv

[PATCH v3 10/49] erofs: dynamically allocate the erofs-shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the erofs-shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/erofs/utils.c | 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/fs/erofs/utils.c b/fs/erofs/utils.c index cc6fb9e98899..6e1a828e6ca3 100644 --

[PATCH v3 11/49] f2fs: dynamically allocate the f2fs-shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the f2fs-shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/f2fs/super.c | 32 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index a123f1378d57..9200b67aa745 1

[PATCH v3 12/49] gfs2: dynamically allocate the gfs2-glock shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the gfs2-glock shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/gfs2/glock.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 1438e7465e30..8d582ba7514f 100644

[PATCH v3 13/49] gfs2: dynamically allocate the gfs2-qd shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the gfs2-qd shrinker. Signed-off-by: Qi Zheng --- fs/gfs2/main.c | 6 +++--- fs/gfs2/quota.c | 26 -- fs/gfs2/quota.h | 3 ++- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index af

[PATCH v3 14/49] NFSv4.2: dynamically allocate the nfs-xattr shrinkers

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the nfs-xattr shrinkers. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/nfs/nfs42xattr.c | 87 +++-- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/fs/nfs/nfs42xattr.c b/fs/nfs/nfs42xattr.c in

[PATCH v3 15/49] nfs: dynamically allocate the nfs-acl shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the nfs-acl shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/nfs/super.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 2284f749d892..072d82e1be06 100644 --- a/

[PATCH v3 16/49] nfsd: dynamically allocate the nfsd-filecache shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the nfsd-filecache shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/nfsd/filecache.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index ee9c923192e0..8

[PATCH v3 17/49] quota: dynamically allocate the dquota-cache shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the dquota-cache shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/quota/dquot.c | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index e8232242dd34..8883e6992f7c 1006

[PATCH v3 18/49] ubifs: dynamically allocate the ubifs-slab shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the ubifs-slab shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/ubifs/super.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index b08fb28d16b5..c690782388a8 1

[PATCH v3 19/49] rcu: dynamically allocate the rcu-lazy shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the rcu-lazy shrinker. Signed-off-by: Qi Zheng --- kernel/rcu/tree_nocb.h | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h index 5598212d1f27..e1c59c33738a 100644 --- a/k

[PATCH v3 20/49] rcu: dynamically allocate the rcu-kfree shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the rcu-kfree shrinker. Signed-off-by: Qi Zheng --- kernel/rcu/tree.c | 22 +- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index cb1caefa8bd0..6d2f82f79c65 100644 --- a/kernel/rcu/tr

[PATCH v3 21/49] mm: thp: dynamically allocate the thp-related shrinkers

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the thp-zero and thp-deferred_split shrinkers. Signed-off-by: Qi Zheng --- mm/huge_memory.c | 69 +++- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index e37150

[PATCH v3 22/49] sunrpc: dynamically allocate the sunrpc_cred shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the sunrpc_cred shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- net/sunrpc/auth.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 2f16f9d17966..6b898b1be6f5 1

[PATCH v3 23/49] mm: workingset: dynamically allocate the mm-shadow shrinker

2023-07-27 Thread Qi Zheng
Use new APIs to dynamically allocate the mm-shadow shrinker. Signed-off-by: Qi Zheng --- mm/workingset.c | 27 ++- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/mm/workingset.c b/mm/workingset.c index da58a26d0d4d..3c53138903a7 100644 --- a/mm/workingset

[PATCH v3 24/49] drm/i915: dynamically allocate the i915_gem_mm shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the i915_gem_mm shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct drm_i915_private. Signed-off-by:

[PATCH v3 25/49] drm/msm: dynamically allocate the drm-msm_gem shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the drm-msm_gem shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct msm_drm_private. Signed-off-by: Q

[PATCH v3 26/49] drm/panfrost: dynamically allocate the drm-panfrost shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the drm-panfrost shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct panfrost_device. Signed-off-by:

[PATCH v3 27/49] dm: dynamically allocate the dm-bufio shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the dm-bufio shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct dm_bufio_client. Signed-off-by: Qi Z

Re: [PATCH] drm/ttm: check null pointer before accessing when swapping

2023-07-27 Thread Christian König
Am 27.07.23 um 09:39 schrieb Mikhail Gavrilov: On Thu, Jul 27, 2023 at 12:33 PM Chen, Guchun wrote: Reviewed-by: Christian König Has this already been pushed to drm-misc-next? Thanks, Christian. Not yet, Christian, as I don't have push permission. I saw you were on vacation, so I would exp

[PATCH v3 28/49] dm zoned: dynamically allocate the dm-zoned-meta shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the dm-zoned-meta shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct dmz_metadata. Signed-off-by: Qi

[PATCH v3 29/49] md/raid5: dynamically allocate the md-raid5 shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the md-raid5 shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct r5conf. Signed-off-by: Qi Zheng Rev

[PATCH v3 30/49] bcache: dynamically allocate the md-bcache shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the md-bcache shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct cache_set. Signed-off-by: Qi Zheng

[PATCH v3 31/49] vmw_balloon: dynamically allocate the vmw-balloon shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the vmw-balloon shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct vmballoon. And we can simply exit

[PATCH v3 32/49] virtio_balloon: dynamically allocate the virtio-balloon shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the virtio-balloon shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct virtio_balloon. Signed-off-by:

[PATCH v3 33/49] mbcache: dynamically allocate the mbcache shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the mbcache shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct mb_cache. Signed-off-by: Qi Zheng Re

[PATCH v3 34/49] ext4: dynamically allocate the ext4-es shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the ext4-es shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct ext4_sb_info. Signed-off-by: Qi Zheng

[PATCH v3 35/49] jbd2, ext4: dynamically allocate the jbd2-journal shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the jbd2-journal shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct journal_s. Signed-off-by: Qi Zhe

[PATCH v3 36/49] nfsd: dynamically allocate the nfsd-client shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the nfsd-client shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct nfsd_net. Signed-off-by: Qi Zheng

[PATCH v3 37/49] nfsd: dynamically allocate the nfsd-reply shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the nfsd-reply shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct nfsd_net. Signed-off-by: Qi Zheng

[PATCH v3 38/49] xfs: dynamically allocate the xfs-buf shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the xfs-buf shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct xfs_buftarg. Signed-off-by: Qi Zheng

[PATCH v3 39/49] xfs: dynamically allocate the xfs-inodegc shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the xfs-inodegc shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct xfs_mount. Signed-off-by: Qi Zhen

[PATCH v3 40/49] xfs: dynamically allocate the xfs-qm shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the xfs-qm shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct xfs_quotainfo. Signed-off-by: Qi Zheng

[PATCH v3 41/49] zsmalloc: dynamically allocate the mm-zspool shrinker

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the mm-zspool shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct zs_pool. Signed-off-by: Qi Zheng R

[PATCH v3 42/49] fs: super: dynamically allocate the s_shrink

2023-07-27 Thread Qi Zheng
In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the s_shrink, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the struct super_block. Signed-off-by: Qi Zheng Reviewe

[PATCH v3 43/49] mm: shrinker: remove old APIs

2023-07-27 Thread Qi Zheng
Now no users are using the old APIs, just remove them. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- include/linux/shrinker.h | 7 -- mm/shrinker.c| 143 --- 2 files changed, 150 deletions(-) diff --git a/include/linux/shrinker.h b/inclu

[PATCH v3 44/49] drm/ttm: introduce pool_shrink_rwsem

2023-07-27 Thread Qi Zheng
Currently, the synchronize_shrinkers() is only used by TTM pool. It only requires that no shrinkers run in parallel. After we use RCU+refcount method to implement the lockless slab shrink, we can not use shrinker_rwsem or synchronize_rcu() to guarantee that all shrinker invocations have seen an up

[PATCH v3 45/49] mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred}

2023-07-27 Thread Qi Zheng
Currently, we maintain two linear arrays per node per memcg, which are shrinker_info::map and shrinker_info::nr_deferred. And we need to resize them when the shrinker_nr_max is exceeded, that is, allocate a new array, and then copy the old array to the new array, and finally free the old array by R

[PATCH v3 46/49] mm: shrinker: make global slab shrink lockless

2023-07-27 Thread Qi Zheng
The shrinker_rwsem is a global read-write lock in shrinkers subsystem, which protects most operations such as slab shrink, registration and unregistration of shrinkers, etc. This can easily cause problems in the following cases. 1) When the memory pressure is high and there are many filesystems

[PATCH v3 47/49] mm: shrinker: make memcg slab shrink lockless

2023-07-27 Thread Qi Zheng
Like global slab shrink, this commit also uses refcount+RCU method to make memcg slab shrink lockless. Use the following script to do slab shrink stress test: ``` DIR="/root/shrinker/memcg/mnt" do_create() { mkdir -p /sys/fs/cgroup/memory/test echo 4G > /sys/fs/cgroup/memory/test/memory

[PATCH v3 48/49] mm: shrinker: hold write lock to reparent shrinker nr_deferred

2023-07-27 Thread Qi Zheng
For now, reparent_shrinker_deferred() is the only holder of read lock of shrinker_rwsem. And it already holds the global cgroup_mutex, so it will not be called in parallel. Therefore, in order to convert shrinker_rwsem to shrinker_mutex later, here we change to hold the write lock of shrinker_rwse

[PATCH v3 49/49] mm: shrinker: convert shrinker_rwsem to mutex

2023-07-27 Thread Qi Zheng
Now there are no readers of shrinker_rwsem, so we can simply replace it with mutex lock. Signed-off-by: Qi Zheng --- drivers/md/dm-cache-metadata.c | 2 +- fs/super.c | 2 +- mm/shrinker.c | 28 ++-- mm/shrinker_debug.c|

Re: [PATCH v3 28/49] dm zoned: dynamically allocate the dm-zoned-meta shrinker

2023-07-27 Thread Damien Le Moal
On 7/27/23 17:04, Qi Zheng wrote: > In preparation for implementing lockless slab shrink, use new APIs to > dynamically allocate the dm-zoned-meta shrinker, so that it can be freed > asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU > read-side critical section when releasing t

Re: [PATCH] drm/tests: Remove CONFIG_DRM_FBDEV_EMULATION on .kunitconfig

2023-07-27 Thread Arnd Bergmann
On Thu, Jul 27, 2023, at 00:03, Arthur Grillo wrote: > Using the `kunit_tool` with the command: > > tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/tests/ > > Lead to this error[0]. Fix it by expliciting removing the > CONFIG_DRM_FBDEV_EMULATION. > > [0] > ERROR:root: > WARNING: unme

Re: [PATCH 4/6] drm/msm/mdss: populate missing data

2023-07-27 Thread Dmitry Baryshkov
On Thu, 27 Jul 2023 at 02:14, Abhinav Kumar wrote: > > > > On 7/26/2023 3:58 PM, Dmitry Baryshkov wrote: > > On Thu, 27 Jul 2023 at 01:30, Abhinav Kumar > > wrote: > >> > >> > >> > >> On 5/21/2023 10:10 AM, Dmitry Baryshkov wrote: > >>> As we are going to use MDSS data for DPU programming, popul

Re: [PATCH 5/6] drm/msm/dpu: use MDSS data for programming SSPP

2023-07-27 Thread Dmitry Baryshkov
On Thu, 27 Jul 2023 at 02:20, Abhinav Kumar wrote: > > > > On 5/21/2023 10:10 AM, Dmitry Baryshkov wrote: > > Switch to using data from MDSS driver to program the SSPP fetch and UBWC > > configuration. > > > > Signed-off-by: Dmitry Baryshkov > > --- > > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp

Re: [PATCH v3 28/49] dm zoned: dynamically allocate the dm-zoned-meta shrinker

2023-07-27 Thread Qi Zheng
Hi, On 2023/7/27 16:30, Damien Le Moal wrote: On 7/27/23 17:04, Qi Zheng wrote: In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the dm-zoned-meta shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU r

Re: [PATCH v3 15/49] nfs: dynamically allocate the nfs-acl shrinker

2023-07-27 Thread Qi Zheng
On 2023/7/27 16:04, Qi Zheng wrote: Use new APIs to dynamically allocate the nfs-acl shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/nfs/super.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c ind

Re: [PATCH v3 16/49] nfsd: dynamically allocate the nfsd-filecache shrinker

2023-07-27 Thread Qi Zheng
On 2023/7/27 16:04, Qi Zheng wrote: Use new APIs to dynamically allocate the nfsd-filecache shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- fs/nfsd/filecache.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/nfsd/filecache.c

Re: [PATCH v3 22/49] sunrpc: dynamically allocate the sunrpc_cred shrinker

2023-07-27 Thread Qi Zheng
On 2023/7/27 16:04, Qi Zheng wrote: Use new APIs to dynamically allocate the sunrpc_cred shrinker. Signed-off-by: Qi Zheng Reviewed-by: Muchun Song --- net/sunrpc/auth.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/net/sunrpc/auth.c b/net/sunrp

Re: [PATCH v3 27/49] dm: dynamically allocate the dm-bufio shrinker

2023-07-27 Thread Qi Zheng
On 2023/7/27 16:04, Qi Zheng wrote: In preparation for implementing lockless slab shrink, use new APIs to dynamically allocate the dm-bufio shrinker, so that it can be freed asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical section when releasing the str

  1   2   3   4   >