There was one regression going into BFS 0.403, and that was expanding the sticky flag to cache warm as well. Not only didn't it improve throughput on anything I could measure, it caused latency regressions so I've backed it out. The only other change going to 404 was fixing a couple of unused variable warnings that were reported by a commenter on this blog. So I consider this patch now stable and pretty much how it will go into 2.6.39 final when it comes out.
Get it here:
2.6.39-rc7-sched-bfs-404.patch.lrz
Thanks for your work, Con! Without problems, with even better performance and better energy efficency, here runs:
ReplyDelete2.6.39-rc7-git10-ck3-bfs404-90
The older ck3 patches run through my quilt patch utility with some more fuzzy though ... but I disable swap on my system anyway.
Great, thanks for the feedback :)
ReplyDeleteCon, thanks for your work, but it seems hard to port to 2.6.37.6. It lacks some functions appearing in 2.6.39. like these...
ReplyDeletensecs_to_cputime64
this_cpu_ksoftirqd
task_ns_capable
blk_flush_plug
Will bfs 0.404 release for older kernel?
Sorry I'm only supporting 2.6.32 and 2.6.35 as old long term release kernels for now. They already have 404 patches available.
ReplyDeleteIt's OK! I think I can try to port one to 2.6.37 from 2.6.35. It should be easier than 2.6.39...even I also can add these function to 2.6.37, but It seems a bad idea...
ReplyDeletecompatible with 2.6.38.6 patch ?
ReplyDeleteOK! It's good without problems. The repositories for OpenSUSE are here:
ReplyDelete11.4
http://download.opensuse.org/repositories/home:/jingtw:/bfs-11.4/openSUSE_11.4/
11.3
http://download.opensuse.org/repositories/home:/jingtw:/bfs-11.4/openSUSE_11.3/
11.2
http://download.opensuse.org/repositories/home:/jingtw:/bfs-11.4/openSUSE_11.2/
packages:
kernel-bfs100hz
kernel-bfs100hz-devel
kernel-bfs250hz
kernel-bfs250hz-devel
kernel-bfs1000hz
kernel-bfs1000hz-devel
kernel-devel
kernel-source
It branched from opensuse 11.4 kernel and only applied bfs patch without other ck patches.