* Moved hash computations out of the critical sections. * Replaced the LRU entry queue by an array of entry "generations", each containing a sparse array of entries of that generation. Whenever a generation is full, we clear the oldest generation and continue with that one. The main advantage of this algorithm is that entry cache's mutex could be replaced by an r/w lock, that most of the time only has to be read locked in Lookup(). This does dramatically decrease contention of that lock. The total -j8 Haiku image build speedup is marginal, but the kernel time drops about 7% (now being smaller than the real time). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34950 a95241bf-73f2-0310-859d-f6bbb57e9c96
25 lines
497 B
Plaintext
25 lines
497 B
Plaintext
SubDir HAIKU_TOP src system kernel fs ;
|
|
|
|
UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
|
|
UsePrivateHeaders [ FDirName kernel fs ] ;
|
|
UsePrivateHeaders [ FDirName kernel util ] ;
|
|
UsePrivateHeaders net shared storage ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) device_manager ] ;
|
|
|
|
KernelMergeObject kernel_fs.o :
|
|
EntryCache.cpp
|
|
fd.cpp
|
|
fifo.cpp
|
|
KPath.cpp
|
|
node_monitor.cpp
|
|
rootfs.cpp
|
|
socket.cpp
|
|
Vnode.cpp
|
|
vfs.cpp
|
|
vfs_boot.cpp
|
|
vfs_net_boot.cpp
|
|
|
|
: $(TARGET_KERNEL_PIC_CCFLAGS)
|
|
;
|