From: "Huang\, Ying" <ying.huang@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@kernel.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Hugh Dickins <hughd@google.com>, Minchan Kim <minchan@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Tim Chen <tim.c.chen@linux.intel.com>, Shaohua Li <shli@fb.com>,
Mel Gorman <mgorman@techsingularity.net>,
Jerome Glisse <jglisse@redhat.com>,
Andrea Arcangeli <aarcange@redhat.com>,
David Rientjes <rientjes@google.com>,
Rik van Riel <riel@redhat.com>, Jan Kara <jack@suse.cz>,
Dave Jiang <dave.jiang@intel.com>, Aaron Lu <aaron.lu@intel.com>
Subject: Re: [PATCH -mm -V2] mm, swap: Fix race between swapoff and some swap operations
Date: Fri, 15 Dec 2017 09:57:47 +0800 [thread overview]
Message-ID: <87wp1olplw.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <20171214124246.ceebc9c955bd32601c01a28b@linux-foundation.org> (Andrew Morton's message of "Thu, 14 Dec 2017 12:42:46 -0800")
Andrew Morton <akpm@linux-foundation.org> writes:
> On Thu, 14 Dec 2017 16:17:18 +0100 Michal Hocko <mhocko@kernel.org> wrote:
>
>> > as fast as possible, SRCU instead of reference count is used to
>> > implement get/put_swap_device(). From get_swap_device() to
>> > put_swap_device(), the reader side of SRCU is locked, so
>> > synchronize_srcu() in swapoff() will wait until put_swap_device() is
>> > called.
>>
>> It is quite unfortunate to pull SRCU as a dependency to the core kernel.
>> Different attempts to do this have failed in the past. This one is
>> slightly different though because I would suspect that those tiny
>> systems do not configure swap. But who knows, maybe they do.
>>
>> Anyway, if you are worried about performance then I would expect some
>> numbers to back that worry. So why don't simply start with simpler
>> ref count based and then optimize it later based on some actual numbers.
>> Btw. have you considered pcp refcount framework. I would suspect that
>> this would give you close to SRCU performance.
>
> <squeaky-wheel>Or use stop_kernel() ;)</squeaky-wheel>
Although I still thought SRCU based solution is better, I will prepare a
version with preempt_disable() + stop_machine() or rcu_read_lock() +
synchronize_rcu() based version for people to compare between them.
BTW, it appears that rcu_read_lock() + synchronize_rcu() is better than
preempt_disable() + stop_machine(), why not use it?
Best Regards,
Huang, Ying
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-12-15 1:57 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-14 13:38 [PATCH -mm -V2] mm, swap: Fix race between swapoff and some swap operations Huang, Ying
2017-12-14 13:38 ` Huang, Ying
2017-12-14 15:17 ` Michal Hocko
2017-12-14 15:17 ` Michal Hocko
2017-12-14 20:42 ` Andrew Morton
2017-12-14 20:42 ` Andrew Morton
2017-12-15 1:57 ` Huang, Ying [this message]
2017-12-15 10:04 ` Michal Hocko
2017-12-15 10:04 ` Michal Hocko
2017-12-15 22:27 ` Andrew Morton
2017-12-15 22:27 ` Andrew Morton
2017-12-15 1:33 ` Huang, Ying
2017-12-15 5:49 ` Paul E. McKenney
2017-12-15 5:49 ` Paul E. McKenney
2017-12-15 6:37 ` Huang, Ying
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=87wp1olplw.fsf@yhuang-dev.intel.com \
--to=ying.huang@intel.com \
--cc=aarcange@redhat.com \
--cc=aaron.lu@intel.com \
--cc=akpm@linux-foundation.org \
--cc=dave.jiang@intel.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=jglisse@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=minchan@kernel.org \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=shli@fb.com \
--cc=tim.c.chen@linux.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 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.