On Sat, Jul 31, 2010 at 8:33 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Sun, Aug 01, 2010 at 12:13:58AM +0800, Wu Fengguang wrote: >> FYI I did some memory stress test and find there are much more order-1 >> (and higher) users than fork(). This means lots of running applications >> may stall on direct reclaim. >> >> Basically all of these slab caches will do high order allocations: > > It looks much, much worse on my system. Basically all inode structures, > and also tons of frequently allocated xfs structures fall into this > category, None of them actually anywhere near the size of a page, which > makes me wonder why we do such high order allocations: Do you have CONFIG_SLUB enabled? It does high order allocations by default for performance reasons. > slabinfo - version: 2.1 > # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> > nfsd4_stateowners 0 0 424 19 2 : tunables 0 0 0 : slabdata 0 0 0 > kvm_vcpu 0 0 10400 3 8 : tunables 0 0 0 : slabdata 0 0 0 > kmalloc_dma-512 32 32 512 16 2 : tunables 0 0 0 : slabdata 2 2 0 > mqueue_inode_cache 18 18 896 18 4 : tunables 0 0 0 : slabdata 1 1 0 > xfs_inode 279008 279008 1024 16 4 : tunables 0 0 0 : slabdata 17438 17438 0 > xfs_efi_item 44 44 360 22 2 : tunables 0 0 0 : slabdata 2 2 0 > xfs_efd_item 44 44 368 22 2 : tunables 0 0 0 : slabdata 2 2 0 > xfs_trans 40 40 800 20 4 : tunables 0 0 0 : slabdata 2 2 0 > xfs_da_state 32 32 488 16 2 : tunables 0 0 0 : slabdata 2 2 0 > nfs_inode_cache 0 0 1016 16 4 : tunables 0 0 0 : slabdata 0 0 0 > isofs_inode_cache 0 0 632 25 4 : tunables 0 0 0 : slabdata 0 0 0 > fat_inode_cache 0 0 664 12 2 : tunables 0 0 0 : slabdata 0 0 0 > hugetlbfs_inode_cache 14 14 584 14 2 : tunables 0 0 0 : slabdata 1 1 0 > ext4_inode_cache 0 0 968 16 4 : tunables 0 0 0 : slabdata 0 0 0 > ext2_inode_cache 21 21 776 21 4 : tunables 0 0 0 : slabdata 1 1 0 > ext3_inode_cache 0 0 800 20 4 : tunables 0 0 0 : slabdata 0 0 0 > rpc_inode_cache 19 19 832 19 4 : tunables 0 0 0 : slabdata 1 1 0 > UDP-Lite 0 0 768 21 4 : tunables 0 0 0 : slabdata 0 0 0 > ip_dst_cache 170 378 384 21 2 : tunables 0 0 0 : slabdata 18 18 0 > RAW 63 63 768 21 4 : tunables 0 0 0 : slabdata 3 3 0 > UDP 52 84 768 21 4 : tunables 0 0 0 : slabdata 4 4 0 > TCP 60 100 1600 20 8 : tunables 0 0 0 : slabdata 5 5 0 > blkdev_queue 42 42 2216 14 8 : tunables 0 0 0 : slabdata 3 3 0 > sock_inode_cache 650 713 704 23 4 : tunables 0 0 0 : slabdata 31 31 0 > skbuff_fclone_cache 36 36 448 18 2 : tunables 0 0 0 : slabdata 2 2 0 > shmem_inode_cache 3620 3948 776 21 4 : tunables 0 0 0 : slabdata 188 188 0 > proc_inode_cache 1818 1875 632 25 4 : tunables 0 0 0 : slabdata 75 75 0 > bdev_cache 57 57 832 19 4 : tunables 0 0 0 : slabdata 3 3 0 > inode_cache 7934 7938 584 14 2 : tunables 0 0 0 : slabdata 567 567 0 > files_cache 689 713 704 23 4 : tunables 0 0 0 : slabdata 31 31 0 > signal_cache 301 342 896 18 4 : tunables 0 0 0 : slabdata 19 19 0 > sighand_cache 192 210 2112 15 8 : tunables 0 0 0 : slabdata 14 14 0 > task_struct 311 325 5616 5 8 : tunables 0 0 0 : slabdata 65 65 0 > idr_layer_cache 578 585 544 15 2 : tunables 0 0 0 : slabdata 39 39 0 > radix_tree_node 74738 74802 560 14 2 : tunables 0 0 0 : slabdata 5343 5343 0 > kmalloc-8192 29 32 8192 4 8 : tunables 0 0 0 : slabdata 8 8 0 > kmalloc-4096 194 208 4096 8 8 : tunables 0 0 0 : slabdata 26 26 0 > kmalloc-2048 310 352 2048 16 8 : tunables 0 0 0 : slabdata 22 22 0 > kmalloc-1024 1607 1616 1024 16 4 : tunables 0 0 0 : slabdata 101 101 0 > kmalloc-512 484 512 512 16 2 : tunables 0 0 0 : slabdata 32 32 0 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxxx For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href