From: Larry McVoy <lm@mcvoy.com>
To: Warner Losh <imp@bsdimp.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] non-blocking IO
Date: Thu, 4 Jun 2020 09:50:11 -0700 [thread overview]
Message-ID: <20200604165011.GC18437@mcvoy.com> (raw)
In-Reply-To: <CANCZdfo289SQhA3tu5Z=RsDv3VrxgZ00r3M7mPNPCMEQiMvuQA@mail.gmail.com>
On Thu, Jun 04, 2020 at 08:19:58AM -0600, Warner Losh wrote:
> The kicker is that all of the kernel is callback driven. The
> upper half queues the request and then sleeps until the lower half signals
> it to wakeup. And that signal is often just a wakeup done from the
> completion routine in the original request. All of that would be useful in
> userland for high volume activity, none of it is exposed...
Yeah, I've often wondered why this stuff wasn't exposed. We already have
signal handlers, seems like that maps.
I tried to get the NFS guys at Sun to rethink the biod junk and do it like
UFS does, where it queues something and gets a callback. I strongly suspect
that two processes, one to queue, one to handle callbacks, would be more
efficient and actually faster than the biod nonsense.
That's one of the arguments I lost unfortunately.
Warner, exposing that stuff in FreeBSD is not really that hard, I suspect.
Might be a fun project for a young kernel hacker with some old dude like
you or me or someone, watching over it and thinking about the API.
--lm
next prev parent reply other threads:[~2020-06-04 16:50 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-31 11:09 Paul Ruizendaal
2020-05-31 16:05 ` Clem Cole
2020-05-31 16:46 ` Warner Losh
2020-05-31 22:01 ` Rob Pike
2020-06-01 3:32 ` Dave Horsfall
2020-06-01 14:58 ` Larry McVoy
2020-06-04 9:04 ` Peter Jeremy
2020-06-04 14:19 ` Warner Losh
2020-06-04 16:34 ` Tony Finch
2020-06-04 16:50 ` Larry McVoy [this message]
2020-06-05 16:00 ` Dan Cross
2020-06-12 8:18 ` Dave Horsfall
2020-06-01 16:58 ` Heinz Lycklama
2020-06-01 23:17 Noel Chiappa
2020-06-02 0:08 Noel Chiappa
2020-06-02 8:22 Paul Ruizendaal
2020-06-02 14:19 Paul Ruizendaal
2020-06-02 17:45 ` Paul Winalski
2020-06-02 17:59 ` arnold
2020-06-02 18:53 ` Paul Winalski
2020-06-02 19:18 ` Clem Cole
2020-06-02 21:15 ` Lawrence Stewart
2020-06-02 18:23 ` Dan Cross
2020-06-02 18:56 ` Paul Winalski
2020-06-02 19:23 ` Clem Cole
2020-06-02 20:13 Noel Chiappa
2020-06-02 20:43 ` Clem Cole
2020-06-02 22:14 ` Rich Morin
2020-06-03 16:31 ` Paul Winalski
2020-06-03 19:19 ` John P. Linderman
2020-06-06 13:29 Noel Chiappa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200604165011.GC18437@mcvoy.com \
--to=lm@mcvoy.com \
--cc=imp@bsdimp.com \
--cc=tuhs@tuhs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).