[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230224141145.96814-1-ying.huang@intel.com>
Date: Fri, 24 Feb 2023 22:11:42 +0800
From: Huang Ying <ying.huang@...el.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Huang Ying <ying.huang@...el.com>,
Hugh Dickins <hughd@...gle.com>,
"Xu, Pengfei" <pengfei.xu@...el.com>,
Christoph Hellwig <hch@....de>,
Stefan Roesch <shr@...kernel.io>, Tejun Heo <tj@...nel.org>,
Xin Hao <xhao@...ux.alibaba.com>, Zi Yan <ziy@...dia.com>,
Yang Shi <shy828301@...il.com>,
Baolin Wang <baolin.wang@...ux.alibaba.com>,
Matthew Wilcox <willy@...radead.org>,
Mike Kravetz <mike.kravetz@...cle.com>
Subject: [PATCH 0/3] migrate_pages: fix deadlock in batched synchronous migration
Two deadlock bugs were reported for the migrate_pages() batching
series. Thanks Hugh and Pengfei. Analysis shows that if we have
locked some other folios except the one we are migrating, it's not
safe in general to wait synchronously, for example, to wait the
writeback to complete or wait to lock the buffer head.
So 1/3 fixes the deadlock in a simple way, where the batching support
for the synchronous migration is disabled. The change is
straightforward and easy to be understood. While 3/3 re-introduce the
batching for synchronous migration via trying to migrate
asynchronously in batch optimistically, then fall back to migrate
synchronously one by one for fail-to-migrate folios. Test shows that
this can restore the TLB flushing batching performance for synchronous
migration effectively.
Best Regards,
Huang, Ying
Powered by blists - more mailing lists