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... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html