Fun, I just stumbled upon:
commit 78ddb08feb7d4fbe3c0a9931804c51ee58be4023
Author: Johannes Weiner <hannes@cmpxchg.org>
AuthorDate: Tue Apr 14 16:53:05 2009 +0200
Commit: Ingo Molnar <mingo@elte.hu>
CommitDate: Tue Apr 14 17:17:16 2009 +0200
wait: don't use __wake_up_common()
'777c6c5 wait: prevent exclusive waiter starvation' made
__wake_up_common() global to be used from abort_exclusive_wait().
It was needed to do a wake-up with the waitqueue lock held while
passing down a key to the wake-up function.
Since '4ede816 epoll keyed wakeups: add __wake_up_locked_key() and
__wake_up_sync_key()' there is an appropriate wrapper for this case:
__wake_up_locked_key().
Use it here and make __wake_up_common() private to the scheduler
again.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1239720785-19661-1-git-send-email-hannes@cmpxchg.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Which is from 2009 and uses “LKML-Reference” as a precursor to what we now simply do in Link:.
Inspired by the creation of the Full Circle film, which quotes extensively from the book, we have been working to bring Options back. Now, we're happy to say that Options is available, under the Creative Commons SA 4.0 license, in a number of forms. Enjoy!
As an aside, I have to say that the tools for scanning and OCR work have gotten pretty good. All of this was made possible by SANE, unpaper, tesseract, Sphinx, and surely some other tools I'm forgetting now.