From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: [RFC PATCH 02/21] Add a prelocked wake-up Date: Tue, 15 Oct 2019 15:14:10 -0700 Message-ID: References: <157117606853.15019.15459271147790470307.stgit@warthog.procyon.org.uk> <157117608708.15019.1998141309054662114.stgit@warthog.procyon.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: <157117608708.15019.1998141309054662114.stgit@warthog.procyon.org.uk> Sender: linux-kernel-owner@vger.kernel.org To: David Howells , Tim Chen , Kan Liang Cc: Casey Schaufler , Stephen Smalley , Greg Kroah-Hartman , Nicolas Dichtel , raven@themaw.net, Christian Brauner , keyrings@vger.kernel.org, linux-usb@vger.kernel.org, linux-block , LSM List , linux-fsdevel , Linux API , Linux Kernel Mailing List List-Id: linux-api@vger.kernel.org On Tue, Oct 15, 2019 at 2:48 PM David Howells wrote: > > Add a wakeup call for a case whereby the caller already has the waitqueue > spinlock held. That naming is crazy. We already have helper functions like this, and they are just called "wake_up_locked()". So the "prelocked" naming is just odd. Make it be wake_up_interruptible_sync_poll_locked(). The helper function should likely be void __wake_up_locked_sync_key(struct wait_queue_head *wq_head, unsigned int mode, void *key) { __wake_up_common(wq_head, mode, 1, WF_SYNC, key, NULL); } EXPORT_SYMBOL_GPL(__wake_up_locked_sync_key); to match the other naming patterns there. [ Unrelated ] Looking at that mess of functions, I also wonder if we should try to just remove the bookmark code again. It was cute, and it was useful, but I think the problem with the page lock list may have been fixed by commit 9a1ea439b16b ("mm: put_and_wait_on_page_locked() while page is migrated") which avoids the retry condition with migrate_page_move_mapping(). Tim/Kan? Do you have the problematic load still? Linus