Re: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-04 Thread Eric Dumazet
On Wed, 2015-11-04 at 11:59 +0100, Rasmus Villemoes wrote: > @@ -667,10 +665,9 @@ void do_close_on_exec(struct files_struct *files) > fdt = files_fdtable(files); > if (fd >= fdt->max_fds) > break; > - set = fdt->close_on_exec[i]; > +

Re: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-04 Thread Rasmus Villemoes
On Wed, Nov 04 2015, Eric Dumazet wrote: > On Tue, 2015-11-03 at 10:41 +0100, Rasmus Villemoes wrote: > >> @@ -667,7 +667,7 @@ void do_close_on_exec(struct files_struct *files) >> fdt = files_fdtable(files); >> if (fd >= fdt->max_fds) >> break; >> -

Re: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-03 Thread Eric Dumazet
On Tue, 2015-11-03 at 10:41 +0100, Rasmus Villemoes wrote: > @@ -667,7 +667,7 @@ void do_close_on_exec(struct files_struct *files) > fdt = files_fdtable(files); > if (fd >= fdt->max_fds) > break; > - set = fdt->close_on_exec[i]; > +

Re: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-03 Thread Rasmus Villemoes
On Tue, Nov 03 2015, Linus Torvalds wrote: > On Tue, Nov 3, 2015 at 1:41 AM, Rasmus Villemoes > wrote: >> >> I'm sure I've missed something, hence the RFC. But if not, there's >> probably also a few memsets which become redundant. And the >> __set_close_on_exec part should probably be its own pa

Re: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-03 Thread Linus Torvalds
On Tue, Nov 3, 2015 at 1:41 AM, Rasmus Villemoes wrote: > > I'm sure I've missed something, hence the RFC. But if not, there's > probably also a few memsets which become redundant. And the > __set_close_on_exec part should probably be its own patch... The patch looks fine to me. I'm not sure the

[RFC] vfs: don't bother clearing close_on_exec bit for unused fds

2015-11-03 Thread Rasmus Villemoes
In fc90888d07b8 (vfs: conditionally clear close-on-exec flag) a conditional was added to __clear_close_on_exec to avoid dirtying a cache line in the common case where the bit is already clear. However, AFAICT, we don't rely on the close_on_exec bit being clear for unused fds, except as an optimizat