[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <878s5lu16i.fsf@yhuang6-desk1.ccr.corp.intel.com>
Date: Wed, 14 Apr 2021 09:04:05 +0800
From: "Huang, Ying" <ying.huang@...el.com>
To: Tim Chen <tim.c.chen@...ux.intel.com>
Cc: Miaohe Lin <linmiaohe@...wei.com>, <akpm@...ux-foundation.org>,
<hannes@...xchg.org>, <mhocko@...e.com>, <iamjoonsoo.kim@....com>,
<vbabka@...e.cz>, <alex.shi@...ux.alibaba.com>,
<willy@...radead.org>, <minchan@...nel.org>,
<richard.weiyang@...il.com>, <hughd@...gle.com>,
<linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>
Subject: Re: [PATCH 2/5] swap: fix do_swap_page() race with swapoff
Tim Chen <tim.c.chen@...ux.intel.com> writes:
> On 4/12/21 6:27 PM, Huang, Ying wrote:
>
>>
>> This isn't the commit that introduces the race. You can use `git blame`
>> find out the correct commit. For this it's commit 0bcac06f27d7 "mm,
>> swap: skip swapcache for swapin of synchronous device".
>>
>> And I suggest to merge 1/5 and 2/5 to make it easy to get the full
>> picture.
>
> I'll suggest make fix to do_swap_page race with get/put_swap_device
> as a first patch. Then the per_cpu_ref stuff in patch 1 and patch 2 can
> be combined together.
The original get/put_swap_device() use rcu_read_lock/unlock(). I don't
think it's good to wrap swap_read_page() with it. After all, some
complex operations are done in swap_read_page(), including
blk_io_schedule().
Best Regards,
Huang, Ying
Powered by blists - more mailing lists