From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: djwong@kernel.org, roman.gushchin@linux.dev, david@fromorbit.com,
dri-devel@lists.freedesktop.org,
virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
dm-devel@redhat.com, linux-ext4@vger.kernel.org,
paulmck@kernel.org, linux-arm-msm@vger.kernel.org,
intel-gfx@lists.freedesktop.org, linux-nfs@vger.kernel.org,
linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org,
vbabka@suse.cz, brauner@kernel.org, tytso@mit.edu,
linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
linux-btrfs@vger.kernel.org, tkhai@ya.ru
Subject: Re: [dm-devel] [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file
Date: Fri, 23 Jun 2023 14:25:54 +0900 [thread overview]
Message-ID: <20230623052554.GA11471@google.com> (raw)
In-Reply-To: <20230622085335.77010-30-zhengqi.arch@bytedance.com>
On (23/06/22 16:53), Qi Zheng wrote:
> +/*
> + * Remove one
> + */
> +void unregister_shrinker(struct shrinker *shrinker)
> +{
> + struct dentry *debugfs_entry;
> + int debugfs_id;
> +
> + if (!(shrinker->flags & SHRINKER_REGISTERED))
> + return;
> +
> + shrinker_put(shrinker);
> + wait_for_completion(&shrinker->completion_wait);
> +
> + mutex_lock(&shrinker_mutex);
> + list_del_rcu(&shrinker->list);
Should this function wait for RCU grace period(s) before it goes
touching shrinker fields?
> + shrinker->flags &= ~SHRINKER_REGISTERED;
> + if (shrinker->flags & SHRINKER_MEMCG_AWARE)
> + unregister_memcg_shrinker(shrinker);
> + debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
> + mutex_unlock(&shrinker_mutex);
> +
> + shrinker_debugfs_remove(debugfs_entry, debugfs_id);
> +
> + kfree(shrinker->nr_deferred);
> + shrinker->nr_deferred = NULL;
> +}
> +EXPORT_SYMBOL(unregister_shrinker);
[..]
> +void shrinker_free(struct shrinker *shrinker)
> +{
> + kfree(shrinker);
> +}
> +EXPORT_SYMBOL(shrinker_free);
> +
> +void unregister_and_free_shrinker(struct shrinker *shrinker)
> +{
> + unregister_shrinker(shrinker);
> + kfree_rcu(shrinker, rcu);
> +}
Seems like this
unregister_shrinker();
shrinker_free();
is not exact equivalent of this
unregister_and_free_shrinker();
--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel
WARNING: multiple messages have this Message-ID (diff)
From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: djwong@kernel.org, roman.gushchin@linux.dev, david@fromorbit.com,
dri-devel@lists.freedesktop.org,
virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
dm-devel@redhat.com, linux-ext4@vger.kernel.org,
paulmck@kernel.org, linux-arm-msm@vger.kernel.org,
intel-gfx@lists.freedesktop.org, linux-nfs@vger.kernel.org,
linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org,
vbabka@suse.cz, brauner@kernel.org, tytso@mit.edu,
linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
linux-btrfs@vger.kernel.org, tkhai@ya.ru
Subject: Re: [Intel-gfx] [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file
Date: Fri, 23 Jun 2023 14:25:54 +0900 [thread overview]
Message-ID: <20230623052554.GA11471@google.com> (raw)
In-Reply-To: <20230622085335.77010-30-zhengqi.arch@bytedance.com>
On (23/06/22 16:53), Qi Zheng wrote:
> +/*
> + * Remove one
> + */
> +void unregister_shrinker(struct shrinker *shrinker)
> +{
> + struct dentry *debugfs_entry;
> + int debugfs_id;
> +
> + if (!(shrinker->flags & SHRINKER_REGISTERED))
> + return;
> +
> + shrinker_put(shrinker);
> + wait_for_completion(&shrinker->completion_wait);
> +
> + mutex_lock(&shrinker_mutex);
> + list_del_rcu(&shrinker->list);
Should this function wait for RCU grace period(s) before it goes
touching shrinker fields?
> + shrinker->flags &= ~SHRINKER_REGISTERED;
> + if (shrinker->flags & SHRINKER_MEMCG_AWARE)
> + unregister_memcg_shrinker(shrinker);
> + debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
> + mutex_unlock(&shrinker_mutex);
> +
> + shrinker_debugfs_remove(debugfs_entry, debugfs_id);
> +
> + kfree(shrinker->nr_deferred);
> + shrinker->nr_deferred = NULL;
> +}
> +EXPORT_SYMBOL(unregister_shrinker);
[..]
> +void shrinker_free(struct shrinker *shrinker)
> +{
> + kfree(shrinker);
> +}
> +EXPORT_SYMBOL(shrinker_free);
> +
> +void unregister_and_free_shrinker(struct shrinker *shrinker)
> +{
> + unregister_shrinker(shrinker);
> + kfree_rcu(shrinker, rcu);
> +}
Seems like this
unregister_shrinker();
shrinker_free();
is not exact equivalent of this
unregister_and_free_shrinker();
WARNING: multiple messages have this Message-ID (diff)
From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru,
vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org,
brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, dm-devel@redhat.com,
linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org,
virtualization@lists.linux-foundation.org,
linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
linux-nfs@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file
Date: Fri, 23 Jun 2023 14:25:54 +0900 [thread overview]
Message-ID: <20230623052554.GA11471@google.com> (raw)
In-Reply-To: <20230622085335.77010-30-zhengqi.arch@bytedance.com>
On (23/06/22 16:53), Qi Zheng wrote:
> +/*
> + * Remove one
> + */
> +void unregister_shrinker(struct shrinker *shrinker)
> +{
> + struct dentry *debugfs_entry;
> + int debugfs_id;
> +
> + if (!(shrinker->flags & SHRINKER_REGISTERED))
> + return;
> +
> + shrinker_put(shrinker);
> + wait_for_completion(&shrinker->completion_wait);
> +
> + mutex_lock(&shrinker_mutex);
> + list_del_rcu(&shrinker->list);
Should this function wait for RCU grace period(s) before it goes
touching shrinker fields?
> + shrinker->flags &= ~SHRINKER_REGISTERED;
> + if (shrinker->flags & SHRINKER_MEMCG_AWARE)
> + unregister_memcg_shrinker(shrinker);
> + debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
> + mutex_unlock(&shrinker_mutex);
> +
> + shrinker_debugfs_remove(debugfs_entry, debugfs_id);
> +
> + kfree(shrinker->nr_deferred);
> + shrinker->nr_deferred = NULL;
> +}
> +EXPORT_SYMBOL(unregister_shrinker);
[..]
> +void shrinker_free(struct shrinker *shrinker)
> +{
> + kfree(shrinker);
> +}
> +EXPORT_SYMBOL(shrinker_free);
> +
> +void unregister_and_free_shrinker(struct shrinker *shrinker)
> +{
> + unregister_shrinker(shrinker);
> + kfree_rcu(shrinker, rcu);
> +}
Seems like this
unregister_shrinker();
shrinker_free();
is not exact equivalent of this
unregister_and_free_shrinker();
WARNING: multiple messages have this Message-ID (diff)
From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: djwong@kernel.org, roman.gushchin@linux.dev, david@fromorbit.com,
dri-devel@lists.freedesktop.org,
virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
dm-devel@redhat.com, linux-ext4@vger.kernel.org,
paulmck@kernel.org, linux-arm-msm@vger.kernel.org,
intel-gfx@lists.freedesktop.org, linux-nfs@vger.kernel.org,
linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org,
vbabka@suse.cz, brauner@kernel.org, tytso@mit.edu,
linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
linux-btrfs@vger.kernel.org, tkhai@ya.ru
Subject: Re: [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file
Date: Fri, 23 Jun 2023 14:25:54 +0900 [thread overview]
Message-ID: <20230623052554.GA11471@google.com> (raw)
In-Reply-To: <20230622085335.77010-30-zhengqi.arch@bytedance.com>
On (23/06/22 16:53), Qi Zheng wrote:
> +/*
> + * Remove one
> + */
> +void unregister_shrinker(struct shrinker *shrinker)
> +{
> + struct dentry *debugfs_entry;
> + int debugfs_id;
> +
> + if (!(shrinker->flags & SHRINKER_REGISTERED))
> + return;
> +
> + shrinker_put(shrinker);
> + wait_for_completion(&shrinker->completion_wait);
> +
> + mutex_lock(&shrinker_mutex);
> + list_del_rcu(&shrinker->list);
Should this function wait for RCU grace period(s) before it goes
touching shrinker fields?
> + shrinker->flags &= ~SHRINKER_REGISTERED;
> + if (shrinker->flags & SHRINKER_MEMCG_AWARE)
> + unregister_memcg_shrinker(shrinker);
> + debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
> + mutex_unlock(&shrinker_mutex);
> +
> + shrinker_debugfs_remove(debugfs_entry, debugfs_id);
> +
> + kfree(shrinker->nr_deferred);
> + shrinker->nr_deferred = NULL;
> +}
> +EXPORT_SYMBOL(unregister_shrinker);
[..]
> +void shrinker_free(struct shrinker *shrinker)
> +{
> + kfree(shrinker);
> +}
> +EXPORT_SYMBOL(shrinker_free);
> +
> +void unregister_and_free_shrinker(struct shrinker *shrinker)
> +{
> + unregister_shrinker(shrinker);
> + kfree_rcu(shrinker, rcu);
> +}
Seems like this
unregister_shrinker();
shrinker_free();
is not exact equivalent of this
unregister_and_free_shrinker();
next prev parent reply other threads:[~2023-07-10 6:47 UTC|newest]
Thread overview: 232+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-22 8:53 [dm-devel] [PATCH 00/29] use refcount+RCU method to implement lockless slab shrink Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 01/29] mm: shrinker: add shrinker::private_data field Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 14:47 ` [dm-devel] " Vlastimil Babka
2023-06-22 14:47 ` Vlastimil Babka
2023-06-22 14:47 ` Vlastimil Babka
2023-06-22 14:47 ` Vlastimil Babka
2023-06-22 14:47 ` [Intel-gfx] " Vlastimil Babka
2023-06-23 12:50 ` [dm-devel] [External] " Qi Zheng
2023-06-23 12:50 ` Qi Zheng
2023-06-23 12:50 ` Qi Zheng
2023-06-23 12:50 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 02/29] mm: vmscan: introduce some helpers for dynamically allocating shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-23 6:12 ` [dm-devel] " Dave Chinner
2023-06-23 6:12 ` Dave Chinner
2023-06-23 6:12 ` Dave Chinner via Virtualization
2023-06-23 6:12 ` Dave Chinner
2023-06-23 6:12 ` [Intel-gfx] " Dave Chinner
2023-06-23 12:49 ` [dm-devel] " Qi Zheng
2023-06-23 12:49 ` Qi Zheng
2023-06-23 12:49 ` Qi Zheng
2023-06-23 12:49 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 03/29] drm/i915: dynamically allocate the i915_gem_mm shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 04/29] drm/msm: dynamically allocate the drm-msm_gem shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 05/29] drm/panfrost: dynamically allocate the drm-panfrost shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-23 13:33 ` [dm-devel] " Qi Zheng
2023-06-23 13:33 ` Qi Zheng
2023-06-23 13:33 ` Qi Zheng
2023-06-23 13:33 ` [Intel-gfx] " Qi Zheng
2023-06-23 14:18 ` [dm-devel] " Bobs_Email
2023-06-23 14:18 ` Bobs_Email
2023-06-23 14:18 ` Bobs_Email
2023-06-23 14:18 ` [Intel-gfx] " Bobs_Email
2023-06-22 8:53 ` [dm-devel] [PATCH 06/29] dm: dynamically allocate the dm-bufio shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 07/29] dm zoned: dynamically allocate the dm-zoned-meta shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 08/29] md/raid5: dynamically allocate the md-raid5 shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 09/29] bcache: dynamically allocate the md-bcache shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 10/29] vmw_balloon: dynamically allocate the vmw-balloon shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 11/29] virtio_balloon: dynamically allocate the virtio-balloon shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 12/29] mbcache: dynamically allocate the mbcache shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 13/29] ext4: dynamically allocate the ext4-es shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 14/29] jbd2, ext4: dynamically allocate the jbd2-journal shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [PATCH 14/29] jbd2,ext4: " Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] [PATCH 14/29] jbd2, ext4: " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 15/29] NFSD: dynamically allocate the nfsd-client shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-23 21:49 ` [dm-devel] " Chuck Lever
2023-06-23 21:49 ` Chuck Lever
2023-06-23 21:49 ` Chuck Lever
2023-06-23 21:49 ` [Intel-gfx] " Chuck Lever
2023-06-24 11:17 ` [dm-devel] " Qi Zheng
2023-06-24 11:17 ` Qi Zheng
2023-06-24 11:17 ` Qi Zheng
2023-06-24 11:17 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 16/29] NFSD: dynamically allocate the nfsd-reply shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 17/29] xfs: dynamically allocate the xfs-buf shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 18/29] xfs: dynamically allocate the xfs-inodegc shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 19/29] xfs: dynamically allocate the xfs-qm shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 20/29] zsmalloc: dynamically allocate the mm-zspool shrinker Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 21/29] fs: super: dynamically allocate the s_shrink Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 22/29] drm/ttm: introduce pool_shrink_rwsem Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 23/29] mm: shrinker: add refcount and completion_wait fields Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 24/29] mm: vmscan: make global slab shrink lockless Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 15:12 ` [dm-devel] " Vlastimil Babka
2023-06-22 15:12 ` Vlastimil Babka
2023-06-22 15:12 ` Vlastimil Babka
2023-06-22 15:12 ` Vlastimil Babka
2023-06-22 15:12 ` [Intel-gfx] " Vlastimil Babka
2023-06-22 16:42 ` [dm-devel] " Qi Zheng
2023-06-22 16:42 ` Qi Zheng
2023-06-22 16:42 ` Qi Zheng
2023-06-22 16:42 ` [Intel-gfx] " Qi Zheng
2023-06-22 17:41 ` [dm-devel] " Alan Huang
2023-06-22 17:41 ` Alan Huang
2023-06-22 17:41 ` Alan Huang
2023-06-22 17:41 ` [Intel-gfx] " Alan Huang
2023-06-22 18:18 ` [dm-devel] " Qi Zheng
2023-06-22 18:18 ` Qi Zheng
2023-06-22 18:18 ` Qi Zheng
2023-06-22 18:18 ` [Intel-gfx] " Qi Zheng
2023-06-23 6:29 ` [dm-devel] " Dave Chinner
2023-06-23 6:29 ` Dave Chinner
2023-06-23 6:29 ` Dave Chinner via Virtualization
2023-06-23 6:29 ` Dave Chinner
2023-06-23 6:29 ` [Intel-gfx] " Dave Chinner
2023-06-23 13:10 ` [dm-devel] " Qi Zheng
2023-06-23 13:10 ` Qi Zheng
2023-06-23 13:10 ` Qi Zheng
2023-06-23 13:10 ` [Intel-gfx] " Qi Zheng
2023-06-23 22:19 ` [dm-devel] " Dave Chinner
2023-06-23 22:19 ` Dave Chinner
2023-06-23 22:19 ` Dave Chinner via Virtualization
2023-06-23 22:19 ` Dave Chinner
2023-06-23 22:19 ` [Intel-gfx] " Dave Chinner
2023-06-24 11:08 ` [dm-devel] " Qi Zheng
2023-06-24 11:08 ` Qi Zheng
2023-06-24 11:08 ` Qi Zheng
2023-06-24 11:08 ` [Intel-gfx] " Qi Zheng
2023-06-25 3:15 ` [dm-devel] " Qi Zheng
2023-06-25 3:15 ` Qi Zheng
2023-06-25 3:15 ` Qi Zheng
2023-06-25 3:15 ` [Intel-gfx] " Qi Zheng
2023-07-04 4:20 ` [dm-devel] " Qi Zheng
2023-07-04 4:20 ` Qi Zheng
2023-07-04 4:20 ` Qi Zheng
2023-07-04 4:20 ` [Intel-gfx] " Qi Zheng
2023-07-03 16:39 ` [dm-devel] " Paul E. McKenney
2023-07-03 16:39 ` Paul E. McKenney
2023-07-03 16:39 ` Paul E. McKenney
2023-07-03 16:39 ` [Intel-gfx] " Paul E. McKenney
2023-07-04 3:45 ` [dm-devel] " Qi Zheng
2023-07-04 3:45 ` Qi Zheng
2023-07-04 3:45 ` Qi Zheng
2023-07-04 3:45 ` [Intel-gfx] " Qi Zheng
2023-07-05 3:27 ` [dm-devel] " Qi Zheng
2023-07-05 3:27 ` Qi Zheng
2023-07-05 3:27 ` Qi Zheng
2023-07-05 3:27 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 25/29] mm: vmscan: make memcg " Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 26/29] mm: shrinker: make count and scan in shrinker debugfs lockless Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 27/29] mm: vmscan: hold write lock to reparent shrinker nr_deferred Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 28/29] mm: shrinkers: convert shrinker_rwsem to mutex Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 8:53 ` [dm-devel] [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` Qi Zheng
2023-06-22 8:53 ` [Intel-gfx] " Qi Zheng
2023-06-22 14:53 ` [dm-devel] " Vlastimil Babka
2023-06-22 14:53 ` Vlastimil Babka
2023-06-22 14:53 ` Vlastimil Babka
2023-06-22 14:53 ` Vlastimil Babka
2023-06-22 14:53 ` [Intel-gfx] " Vlastimil Babka
2023-06-23 13:12 ` [dm-devel] " Qi Zheng
2023-06-23 13:12 ` Qi Zheng
2023-06-23 13:12 ` Qi Zheng
2023-06-23 13:12 ` [Intel-gfx] " Qi Zheng
2023-06-23 5:25 ` Sergey Senozhatsky [this message]
2023-06-23 5:25 ` Sergey Senozhatsky
2023-06-23 5:25 ` Sergey Senozhatsky
2023-06-23 5:25 ` [Intel-gfx] " Sergey Senozhatsky
2023-06-23 13:24 ` [dm-devel] " Qi Zheng
2023-06-23 13:24 ` Qi Zheng
2023-06-23 13:24 ` Qi Zheng
2023-06-23 13:24 ` [Intel-gfx] " Qi Zheng
2023-06-22 9:02 ` [dm-devel] [PATCH 00/29] use refcount+RCU method to implement lockless slab shrink Qi Zheng
2023-06-22 9:02 ` Qi Zheng
2023-06-22 9:02 ` Qi Zheng
2023-06-22 9:02 ` [Intel-gfx] " Qi Zheng
2023-06-27 20:02 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
2023-07-06 18:24 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for use refcount+RCU method to implement lockless slab shrink (rev2) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230623052554.GA11471@google.com \
--to=senozhatsky@chromium.org \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=dm-devel@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=paulmck@kernel.org \
--cc=roman.gushchin@linux.dev \
--cc=tkhai@ya.ru \
--cc=tytso@mit.edu \
--cc=vbabka@suse.cz \
--cc=virtualization@lists.linux-foundation.org \
--cc=zhengqi.arch@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.