It takes care of a fixed minimum of free buffers in the buffer cache.
I hard coded 5% just for testing purposes.
if (nr_buffers_type[BUF_DIRTY] > too_many ||
nr_buffers - nr_buffers_type[BUF_DIRTY] -
nr_buffers_type[BUF_LOCKED]
< nr_buffers_type[BUF_DIRTY] / 20)
wakeup_bdflush(1);
Performance is even better now while doing a
"dd if=/dev/zero of=/dev/v/l bs=1024k" on a 13G device i'm able to perform
a compile in 25s vs 1:20m!
Sure, if we have a reserved amount of buffers, it should be
dynamically dimensioned based on load scenarios.
This is just a quick hack to show the basic idea...
Opinions?
Regards,
Heinz
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Systemmanagement C/S Deutsche Telekom AG Entwicklungszentrum Darmstadt Heinz Mauelshagen Otto-Roehm-Strasse 71c Senior Systems Engineer Postfach 10 05 41 64205 Darmstadt mge@ez-darmstadt.telekom.de Germany +49 6151 886-425 FAX-386 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/