Messages in this thread | | | Date | Thu, 22 May 2008 03:24:56 -0500 | From | Paul Jackson <> | Subject | Re: [PATCH] remove unnecessary memmove() in cgroup_path() |
| |
One more question ... how does the kernel text size (size vmlinux) change with this patch?
It may well be that the kernel gets a few bytes -larger-, rather than smaller, due to the extra instructions involved in manipulating the more indirect buffer pointer and in tracking the value of that pointer on cgroup_path() entry separately from the value on return.
If that's the case, then the net performance impact of this patch might be negative, depending on how one measures it. Given the increasingly high costs of cache misses on modern CPU architectures, it is often better to execute a few additional instructions that are likely already in the cache (as 'memmove()' might be) than to increase the kernel text size with rarely executed code lines that will (1) miss the cache more often, even though (2) they consume fewer CPU cycles to execute.
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.940.382.4214
| |