Messages in this thread |  | | From | David Howells <> | Subject | Re: [GIT PULL] fscache: I/O API modernisation and netfs helper library | Date | Tue, 09 Feb 2021 21:10:42 +0000 |
| |
Linus Torvalds <torvalds@linux-foundation.org> wrote:
> The PG_fscache bit waiting functions are completely crazy. The comment > about "this will wake up others" is actively wrong,
You mean this?
/** * unlock_page_fscache - Unlock a page pinned with PG_fscache * @page: The page * * Unlocks the page and wakes up sleepers in wait_on_page_fscache(). Also * wakes those waiting for the lock and writeback bits because the wakeup * mechanism is shared. But that's OK - those sleepers will just go back to * sleep. */
Actually, you're right. The wakeup check func is evaluated by the waker-upper. I can fix the comment with a patch.
> and the waiting function looks insane, because you're mixing the two names > for "fscache" which makes the code look totally incomprehensible. Why would > we wait for PF_fscache, when PG_private_2 was set? Yes, I know why, but the > code looks entirely nonsensical.
IIRC someone insisted that I should make it a generic name and put the accessor functions in the fscache headers (which means they aren't available to core code), but I don't remember who (maybe Andrew? it was before mid-2007) - kind of like PG_checked is an alias for PG_owner_priv_1.
I'd be quite happy to move the accessors for PG_fscache to the linux/page-flags.h as that would simplify things.
David
|  |