Messages in this thread | | | Date | Wed, 4 Nov 2009 17:02:12 -0500 (EST) | From | Christoph Lameter <> | Subject | Re: [MM] Remove rss batching from copy_page_range() |
| |
On Wed, 4 Nov 2009, Andi Kleen wrote:
> > With per cpu counters in mm there is no need for batching > > mm counter updates anymore. Update counters directly while > > copying pages. > > Hmm, but with all the inlining with some luck the local > counters will be in registers. That will never be the case > with the per cpu counters.
The function is too big for that to occur and the counters have to be preserved across function calls. The code is shorter with the patch applied:
christoph@:~/n/linux-2.6$ size mm/memory.o text data bss dec hex filename 20140 56 40 20236 4f0c mm/memory.o christoph@:~/n/linux-2.6$ quilt push Applying patch mmcounter patching file include/linux/mm_types.h patching file include/linux/sched.h patching file kernel/fork.c patching file fs/proc/task_mmu.c patching file mm/filemap_xip.c patching file mm/fremap.c patching file mm/memory.c patching file mm/rmap.c patching file mm/swapfile.c patching file mm/init-mm.c
Now at patch mmcounter christoph@:~/n/linux-2.6$ make mm/memory.o CHK include/linux/version.h CHK include/linux/utsrelease.h UPD include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 CC arch/x86/kernel/asm-offsets.s GEN include/asm/asm-offsets.h CALL scripts/checksyscalls.sh CC mm/memory.o christoph@:~/n/linux-2.6$ size mm/memory.o text data bss dec hex filename 20028 56 40 20124 4e9c mm/memory.o christoph@:~/n/linux-2.6$ quilt push Applying patch simplify patching file mm/memory.c
Now at patch simplify christoph@:~/n/linux-2.6$ make mm/memory.o CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 CALL scripts/checksyscalls.sh CC mm/memory.o christoph@:~/n/linux-2.6$ size mm/memory.o text data bss dec hex filename 19888 56 40 19984 4e10 mm/memory.o
| |