From: David Laight <David.Laight@ACULAB.COM>
To: 'Eric Dumazet' <eric.dumazet@gmail.com>,
Nate Karstens <nate.karstens@garmin.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
"Jeff Layton" <jlayton@kernel.org>,
"J. Bruce Fields" <bfields@fieldses.org>,
"Arnd Bergmann" <arnd@arndb.de>,
Richard Henderson <rth@twiddle.net>,
"Ivan Kokshaysky" <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Changli Gao <xiaosuo@gmail.com>
Subject: RE: [PATCH 1/4] fs: Implement close-on-fork
Date: Wed, 22 Apr 2020 08:35:23 +0000 [thread overview]
Message-ID: <39a872f23b16405fb4e4683bf049beef@AcuMS.aculab.com> (raw)
In-Reply-To: <36dce9b4-a0bf-0015-f6bc-1006938545b1@gmail.com>
From: Eric Dumazet
> Sent: 20 April 2020 11:26
> On 4/20/20 12:15 AM, Nate Karstens wrote:
> > The close-on-fork flag causes the file descriptor to be closed
> > atomically in the child process before the child process returns
> > from fork(). Implement this feature and provide a method to
> > get/set the close-on-fork flag using fcntl(2).
> >
> > This functionality was approved by the Austin Common Standards
> > Revision Group for inclusion in the next revision of the POSIX
> > standard (see issue 1318 in the Austin Group Defect Tracker).
>
> Oh well... yet another feature slowing down a critical path.
...
> I suggest we group the two bits of a file (close_on_exec, close_on_fork) together,
> so that we do not have to dirty two separate cache lines.
>
> Otherwise we will add yet another cache line miss at every file opening/closing for processes
> with big file tables.
How about only allocating the 'close on fork' bitmap the first time
a process sets a bit in it?
Off hand I can't imagine the use case.
I thought posix always shared fd tables across fork().
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
next prev parent reply other threads:[~2020-04-22 8:35 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-20 7:15 Implement close-on-fork Nate Karstens
2020-04-20 7:15 ` [PATCH 1/4] fs: " Nate Karstens
2020-04-20 10:25 ` Eric Dumazet
2020-04-22 3:38 ` Changli Gao
2020-04-22 3:41 ` Changli Gao
2020-04-22 8:35 ` David Laight [this message]
2020-05-01 14:45 ` Karstens, Nate
2020-05-01 15:23 ` Matthew Wilcox
2020-05-03 13:52 ` David Laight
2020-04-22 15:36 ` Karstens, Nate
2020-04-22 15:43 ` Matthew Wilcox
2020-04-22 16:02 ` Karstens, Nate
2020-04-22 16:31 ` Bernd Petrovitsch
2020-04-22 16:55 ` David Laight
2020-04-23 12:34 ` Bernd Petrovitsch
2020-04-20 7:15 ` [PATCH 2/4] fs: Add O_CLOFORK flag for open(2) and dup3(2) Nate Karstens
2020-04-20 7:15 ` [PATCH 3/4] fs: Add F_DUPFD_CLOFORK to fcntl(2) Nate Karstens
2020-04-20 7:15 ` [PATCH 4/4] net: Add SOCK_CLOFORK Nate Karstens
2020-04-22 14:32 ` Implement close-on-fork James Bottomley
2020-04-22 15:01 ` Al Viro
2020-04-22 15:18 ` Matthew Wilcox
2020-04-22 15:34 ` James Bottomley
2020-04-22 16:00 ` Al Viro
2020-04-22 16:13 ` Al Viro
2020-05-04 13:46 ` Karstens, Nate
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=39a872f23b16405fb4e4683bf049beef@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=arnd@arndb.de \
--cc=bfields@fieldses.org \
--cc=davem@davemloft.net \
--cc=deller@gmx.de \
--cc=eric.dumazet@gmail.com \
--cc=ink@jurassic.park.msu.ru \
--cc=jlayton@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=mattst88@gmail.com \
--cc=nate.karstens@garmin.com \
--cc=netdev@vger.kernel.org \
--cc=rth@twiddle.net \
--cc=sparclinux@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=xiaosuo@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).