From: "Jörn Engel" <joern@purestorage.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: linux-man@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: open(2) manpage and O_NONBLOCK
Date: Mon, 21 Mar 2016 13:23:47 -0700 [thread overview]
Message-ID: <20160321202347.GG1612@cork> (raw)
In open(2), we seem to promise more than the kernel can deliver:
O_NONBLOCK or O_NDELAY
When possible, the file is opened in nonblocking mode.
Neither the open() nor any subsequent operations on the
file descriptor which is returned will cause the
calling process to wait.
Clearly you can question whether every last device driver correctly
supports O_NONBLOCK in its open routine. But even if that was the case,
we still cannot guarantee nonblocking behaviour for open().
get_empty_filp() has to be called for every open() and contains a
blocking memory allocation:
f = kmem_cache_zalloc(filp_cachep, GFP_KERNEL);
As such I would propose to change the documentation and keep the code.
The open() itself may very well block, but subsequent operations should
not.
J�rn
--
Why do musicians compose symphonies and poets write poems?
They do it because life wouldn't have any meaning for them if they didn't.
That's why I draw cartoons. It's my life.
-- Charles Shultz
next reply other threads:[~2016-03-21 20:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 20:23 Jörn Engel [this message]
2016-03-28 3:58 ` open(2) manpage and O_NONBLOCK Michael Kerrisk (man-pages)
2016-03-28 4:08 ` Al Viro
2016-03-28 5:04 ` Jörn Engel
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=20160321202347.GG1612@cork \
--to=joern@purestorage.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
/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).