Re: binary format loader cache?

Linus Torvalds (
Tue, 8 Apr 1997 13:23:15 -0700 (PDT)

On 8 Apr 1997, Michael O'Reilly wrote:
> Im suprised my patch to get_empty_filp() still isn't in the
> kernel. Note that it isn't just the exec()'s the suffer from the
> REALLY bad running time, but just about everthing is slowed fairly
> dramtically. On machines doing lots of open()'s etc, patching
> get_empty_filp() will give you an instant 5% improvement.

Actually, the reason I haven't applied this is that I want something that
goes a lot further: when a process gets an empty file structure that
structure should be totally removed from the "available file structures"
list), and then added back on when f_count goes back to zero. That way
get_empty_filp() would be O(1), because it could just get the first file
pointer on the list and _know_ that it is directly usable.

However, this requires a bit more patches than just to get_empty_filp(),
because unlike inodes we don't currently have a nice "put_filp()" function
when we no longer use it - instead some code just decrements the counter
and assumes the rest of the system will magically notice that it is no
longer used.