[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241016043600.35139-1-lizhe.67@bytedance.com>
Date: Wed, 16 Oct 2024 12:35:58 +0800
From: lizhe.67@...edance.com
To: peterz@...radead.org,
mingo@...hat.com,
will@...nel.org,
longman@...hat.com,
boqun.feng@...il.com,
akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
lizhe.67@...edance.com
Subject: [RFC 0/2] rwsem: introduce upgrade_read interface
From: Li Zhe <lizhe.67@...edance.com>
In the current kernel rwsem implementation, there is an interface to
downgrade write lock to read lock, but there is no interface to upgrade
a read lock to write lock. This means that in order to acquire write
lock while holding read lock, we have to release the read lock first and
then acquire the write lock, which will introduce some troubles in
concurrent programming. This patch set provides the 'upgrade_read' interface
to solve this problem. This interface can change a read lock to a write
lock.
Li Zhe (2):
rwsem: introduce upgrade_read interface
khugepaged: use upgrade_read() to optimize collapse_huge_page
include/linux/rwsem.h | 1 +
kernel/locking/rwsem.c | 87 ++++++++++++++++++++++++++++++++++++++++--
mm/khugepaged.c | 36 ++++++++---------
3 files changed, 104 insertions(+), 20 deletions(-)
--
2.20.1
Powered by blists - more mailing lists