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)