lkml.org 
[lkml]   [2015]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC] vfs: don't bother clearing close_on_exec bit for unused fds
From
Date
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];
> + set = fdt->close_on_exec[i] & fdt->open_fds[i];
> if (!set)
> continue;


Many processes have a big hole at the end of fdt->open_fds[], due
to the fact that max_fds is rounded to a power of two.

It makes sense to avoid bringing in cpu caches the close_on_exec[] part.


set = fdt->open_fds[i];
if (!set)
continue;
set &= fdt->close_on_exec[i];
if (!set)
continue;

Not sure if this is a net win due to branch prediction...




\
 
 \ /
  Last update: 2015-11-04 14:01    [W:0.060 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site