linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kirill Tkhai <ktkhai@virtuozzo.com>
To: Shakeel Butt <shakeelb@google.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	gregkh@linuxfoundation.org, rafael@kernel.org,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	"Darrick J. Wong" <darrick.wong@oracle.com>,
	Paul McKenney <paulmck@linux.vnet.ibm.com>,
	josh@joshtriplett.org, Steven Rostedt <rostedt@goodmis.org>,
	mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
	Hugh Dickins <hughd@google.com>,
	shuah@kernel.org, robh@kernel.org, ulf.hansson@linaro.org,
	aspriel@gmail.com, vivek.gautam@codeaurora.org,
	robin.murphy@arm.com, joe@perches.com,
	heikki.krogerus@linux.intel.com,
	Vladimir Davydov <vdavydov.dev@gmail.com>,
	Michal Hocko <mhocko@suse.com>,
	Chris Wilson <chris@chris-wilson.co.uk>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Matthew Wilcox <willy@infradead.org>,
	Huang Ying <ying.huang@intel.com>,
	jbacik@fb.com, Ingo Molnar <mingo@kernel.org>,
	mhiramat@kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>
Subject: Re: [PATCH RFC 00/10] Introduce lockless shrink_slab()
Date: Wed, 8 Aug 2018 13:18:24 +0300	[thread overview]
Message-ID: <493967b5-cb56-4a88-c2fb-44238e2823ed@virtuozzo.com> (raw)
In-Reply-To: <CALvZod4CAA50sPB1V9bZVOZ__rOT=Ys8tLv+m-S-kP3NLubSqQ@mail.gmail.com>

On 08.08.2018 08:39, Shakeel Butt wrote:
> On Tue, Aug 7, 2018 at 6:12 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> Hi Kirill,
>>
>> On Tue, 07 Aug 2018 18:37:19 +0300 Kirill Tkhai <ktkhai@virtuozzo.com> wrote:
>>>
>>> After bitmaps of not-empty memcg shrinkers were implemented
>>> (see "[PATCH v9 00/17] Improve shrink_slab() scalability..."
>>> series, which is already in mm tree), all the evil in perf
>>> trace has moved from shrink_slab() to down_read_trylock().
>>> As reported by Shakeel Butt:
>>>
>>>      > I created 255 memcgs, 255 ext4 mounts and made each memcg create a
>>>      > file containing few KiBs on corresponding mount. Then in a separate
>>>      > memcg of 200 MiB limit ran a fork-bomb.
>>>      >
>>>      > I ran the "perf record -ag -- sleep 60" and below are the results:
>>>      > +  47.49%            fb.sh  [kernel.kallsyms]    [k] down_read_trylock
>>>      > +  30.72%            fb.sh  [kernel.kallsyms]    [k] up_read
>>>      > +   9.51%            fb.sh  [kernel.kallsyms]    [k] mem_cgroup_iter
>>>      > +   1.69%            fb.sh  [kernel.kallsyms]    [k] shrink_node_memcg
>>>      > +   1.35%            fb.sh  [kernel.kallsyms]    [k] mem_cgroup_protected
>>>      > +   1.05%            fb.sh  [kernel.kallsyms]    [k] queued_spin_lock_slowpath
>>>      > +   0.85%            fb.sh  [kernel.kallsyms]    [k] _raw_spin_lock
>>>      > +   0.78%            fb.sh  [kernel.kallsyms]    [k] lruvec_lru_size
>>>      > +   0.57%            fb.sh  [kernel.kallsyms]    [k] shrink_node
>>>      > +   0.54%            fb.sh  [kernel.kallsyms]    [k] queue_work_on
>>>      > +   0.46%            fb.sh  [kernel.kallsyms]    [k] shrink_slab_memcg
>>>
>>> The patchset continues to improve shrink_slab() scalability and makes
>>> it lockless completely. Here are several steps for that:
>>
>> So do you have any numbers for after theses changes?
>>
> 
> I will do the same experiment as before with these patches sometime
> this or next week.

Thanks, Shakeel!

> BTW Kirill, thanks for pushing this.
> 
> regards,
> Shakeel
> 

      reply	other threads:[~2018-08-08 12:37 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-07 15:37 [PATCH RFC 00/10] Introduce lockless shrink_slab() Kirill Tkhai
2018-08-07 15:37 ` [PATCH RFC 01/10] rcu: Make CONFIG_SRCU unconditionally enabled Kirill Tkhai
2018-08-08  0:55   ` Steven Rostedt
2018-08-08  1:05   ` Stephen Rothwell
2018-08-08  9:46     ` Kirill Tkhai
2018-08-08  1:08   ` Stephen Rothwell
2018-08-08  9:59     ` Kirill Tkhai
2018-08-08 11:04       ` Stephen Rothwell
2018-08-08  7:20   ` Michal Hocko
2018-08-08 10:17     ` Kirill Tkhai
2018-08-08 10:27       ` Michal Hocko
2018-08-08 21:31         ` Dave Chinner
2018-08-09  0:07           ` Matthew Wilcox
2018-08-09  7:45             ` Greg KH
2018-08-09 10:22           ` Kirill Tkhai
2018-08-08 16:13       ` Josh Triplett
2018-08-08 16:23         ` Kirill Tkhai
2018-08-08 16:30           ` Kirill Tkhai
2018-08-08 18:01             ` Josh Triplett
2018-08-08 23:02               ` Shakeel Butt
2018-08-08 23:09                 ` Josh Triplett
2018-08-07 15:37 ` [PATCH RFC 02/10] mm: Make shrink_slab() lockless Kirill Tkhai
2018-08-08 11:51   ` Kirill Tkhai
2018-08-08 13:20     ` [PATCH RFC v2 " Kirill Tkhai
2018-08-09  7:14       ` Michal Hocko
2018-08-09  9:21         ` Kirill Tkhai
2018-08-09 10:37           ` Tetsuo Handa
2018-08-09 10:58             ` Kirill Tkhai
2018-08-09 11:23         ` Kirill Tkhai
2018-08-07 15:38 ` [PATCH RFC 03/10] mm: Convert shrinker_rwsem to mutex Kirill Tkhai
2018-08-07 15:38 ` [PATCH RFC 04/10] mm: Split unregister_shrinker() Kirill Tkhai
2018-08-07 15:38 ` [PATCH RFC 05/10] fs: Move list_lru_destroy() to destroy_super_work() Kirill Tkhai
2018-08-07 15:38 ` [PATCH RFC 06/10] fs: Shrink only (SB_ACTIVE|SB_BORN) superblocks in super_cache_scan() Kirill Tkhai
2018-08-07 15:38 ` [PATCH RFC 07/10] fs: Introduce struct super_operations::destroy_super() callback Kirill Tkhai
2018-08-07 15:39 ` [PATCH RFC 08/10] xfs: Introduce xfs_fs_destroy_super() Kirill Tkhai
2018-08-07 15:39 ` [PATCH RFC 09/10] shmem: Implement shmem_destroy_super() Kirill Tkhai
2018-08-07 15:39 ` [PATCH RFC 10/10] fs: Use unregister_shrinker_delayed_{initiate, finalize} for super_block shrinker Kirill Tkhai
2018-08-08  1:12 ` [PATCH RFC 00/10] Introduce lockless shrink_slab() Stephen Rothwell
2018-08-08  5:39   ` Shakeel Butt
2018-08-08 10:18     ` Kirill Tkhai [this message]

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=493967b5-cb56-4a88-c2fb-44238e2823ed@virtuozzo.com \
    --to=ktkhai@virtuozzo.com \
    --cc=akpm@linux-foundation.org \
    --cc=aryabinin@virtuozzo.com \
    --cc=aspriel@gmail.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=darrick.wong@oracle.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=hughd@google.com \
    --cc=jbacik@fb.com \
    --cc=jiangshanlai@gmail.com \
    --cc=joe@perches.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=rostedt@goodmis.org \
    --cc=sfr@canb.auug.org.au \
    --cc=shakeelb@google.com \
    --cc=shuah@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=vdavydov.dev@gmail.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vivek.gautam@codeaurora.org \
    --cc=willy@infradead.org \
    --cc=ying.huang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).