Subject: Re: rib_trie / Fix inflate_threshold_root. Now=15 size=11 bits

From: Paweł Staszewski <[email-masked]>
Date: Fri, 26 Jun 2009 12:47:04 +0200

Eric Dumazet pisze:
> Paweł Staszewski a écrit :
>   
>> Eric Dumazet pisze:
>>     
>>> Paweł Staszewski a écrit :
>>>  
>>>       
>>>> cat /proc/vmallocinfo
>>>> 0xf7ffe000-0xf8000000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfe6a000 ioremap
>>>> 0xf8000000-0xf8007000   28672 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef5000 ioremap
>>>> 0xf8008000-0xf800a000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef2000 ioremap
>>>> 0xf800c000-0xf800e000    8192
>>>> acpi_ex_system_memory_space_handler+0xd6/0x208 phys=fed1f000 ioremap
>>>> 0xf8010000-0xf8012000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfefb000 ioremap
>>>> 0xf8014000-0xf8016000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef4000 ioremap
>>>> 0xf8018000-0xf801a000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef3000 ioremap
>>>> 0xf801c000-0xf801e000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef1000 ioremap
>>>> 0xf8020000-0xf8022000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfef0000 ioremap
>>>> 0xf8024000-0xf8026000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfeef000 ioremap
>>>> 0xf8028000-0xf802a000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfeee000 ioremap
>>>> 0xf802c000-0xf802e000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfeed000 ioremap
>>>> 0xf8030000-0xf8032000    8192 acpi_tb_verify_table+0x1d/0x46
>>>> phys=dfeec000 ioremap
>>>> 0xf8038000-0xf803d000   20480 ich_force_enable_hpet+0x69/0x15a
>>>> phys=fed1c000 ioremap
>>>> 0xf803e000-0xf8040000    8192 hpet_enable+0x2a/0x21b phys=fed00000
>>>> ioremap
>>>> 0xf8040000-0xf8046000   24576 alloc_iommu+0x18d/0x1d4 phys=feb00000
>>>> ioremap
>>>> 0xf8048000-0xf804a000    8192 pcim_iomap+0x2f/0x3a phys=e1b21000 ioremap
>>>> 0xf804c000-0xf804e000    8192 e1000_probe+0x229/0xa73 phys=e1b20000
>>>> ioremap
>>>> 0xf804f000-0xf8051000    8192 reiserfs_init_bitmap_cache+0x32/0x65
>>>> pages=1 vmalloc
>>>> 0xf8052000-0xf8064000   73728 journal_init+0x30/0x82a pages=17 vmalloc
>>>> 0xf8065000-0xf8067000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>>>> pages=1 vmalloc
>>>> 0xf8068000-0xf806a000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>>>> pages=1 vmalloc
>>>> 0xf806b000-0xf806d000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>>>> pages=1 vmalloc
>>>> 0xf806e000-0xf8070000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>>>> pages=1 vmalloc
>>>> 0xf8071000-0xf8073000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>>>> pages=1 vmalloc
>>>> 0xf8080000-0xf80a1000  135168 e1000_probe+0x1ca/0xa73 phys=e1b00000
>>>> ioremap
>>>> 0xf80a2000-0xf80a6000   16384 e1000e_setup_rx_resources+0x20/0xf7
>>>> pages=3 vmalloc
>>>> 0xf80a7000-0xf80ab000   16384 e1000e_setup_tx_resources+0x17/0x96
>>>> pages=3 vmalloc
>>>> 0xf80ac000-0xf80b0000   16384 e1000e_setup_rx_resources+0x20/0xf7
>>>> pages=3 vmalloc
>>>> 0xf80b1000-0xf80b5000   16384 e1000e_setup_tx_resources+0x17/0x96
>>>> pages=3 vmalloc
>>>> 0xf80c0000-0xf80e1000  135168 e1000_probe+0x1ca/0xa73 phys=e1a60000
>>>> ioremap
>>>> 0xf8100000-0xf8121000  135168 e1000_probe+0x1ca/0xa73 phys=e1a20000
>>>> ioremap
>>>> 0xf8122000-0xf81b3000  593920 journal_init+0x65b/0x82a pages=144 vmalloc
>>>> 0xf81b4000-0xf822f000  503808 sys_swapon+0x392/0x8f3 pages=122 vmalloc
>>>> 0xf846a000-0xf856c000 1056768 tnode_new+0x35/0x65 pages=257 vmalloc
>>>>     
>>>>         
>>> This is from a 32 bit kernel.
>>>
>>> This doesnt match your previous /proc/meminfo (from a 64bit kernel on
>>> a 12 GB machine)
>>>
>>> Of course, I would like /proc/vmallocinfo on your loaded router, not from
>>> a dev machine :)
>>>
>>>   
>>>       
>> Yes sorry for no info about it.
>> I test the same kernel configurations on one 32bit machine and second 64bit
>>
>> here is meminfo from this 32bit machine working on kernel 2.6.30
>> cat /proc/meminfo
>> MemTotal:        3625444 kB
>> MemFree:         3043648 kB
>> Buffers:          133968 kB
>> Cached:            36316 kB
>> SwapCached:            0 kB
>> Active:           256868 kB
>> Inactive:          76252 kB
>> Active(anon):     163064 kB
>> Inactive(anon):        0 kB
>> Active(file):      93804 kB
>> Inactive(file):    76252 kB
>> Unevictable:           0 kB
>> Mlocked:               0 kB
>> HighTotal:       2758160 kB
>> HighFree:        2556136 kB
>> LowTotal:         867284 kB
>> LowFree:          487512 kB
>> SwapTotal:        995896 kB
>> SwapFree:         995896 kB
>> Dirty:              3624 kB
>> Writeback:             0 kB
>> AnonPages:        162912 kB
>> Mapped:             3612 kB
>> Slab:             235888 kB
>> SReclaimable:      46408 kB
>> SUnreclaim:       189480 kB
>> PageTables:          384 kB
>> NFS_Unstable:          0 kB
>> Bounce:                0 kB
>> WritebackTmp:          0 kB
>> CommitLimit:     2808616 kB
>> Committed_AS:     170648 kB
>> VmallocTotal:     122880 kB
>> VmallocUsed:        2876 kB
>> VmallocChunk:     109824 kB
>> HugePages_Total:       0
>> HugePages_Free:        0
>> HugePages_Rsvd:        0
>> HugePages_Surp:        0
>> Hugepagesize:       4096 kB
>> DirectMap4k:        8184 kB
>> DirectMap4M:      901120 kB
>> and vmallocinfo
>>
>> cat /proc/vmallocinfo
>> 0xf7ffe000-0xf8000000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfe6a000 ioremap
>> 0xf8000000-0xf8007000   28672 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef5000 ioremap
>> 0xf8008000-0xf800a000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef2000 ioremap
>> 0xf800c000-0xf800e000    8192
>> acpi_ex_system_memory_space_handler+0xd6/0x208 phys=fed1f000 ioremap
>> 0xf8010000-0xf8012000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfefb000 ioremap
>> 0xf8014000-0xf8016000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef4000 ioremap
>> 0xf8018000-0xf801a000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef3000 ioremap
>> 0xf801c000-0xf801e000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef1000 ioremap
>> 0xf8020000-0xf8022000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfef0000 ioremap
>> 0xf8024000-0xf8026000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfeef000 ioremap
>> 0xf8028000-0xf802a000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfeee000 ioremap
>> 0xf802c000-0xf802e000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfeed000 ioremap
>> 0xf8030000-0xf8032000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=dfeec000 ioremap
>> 0xf8038000-0xf803d000   20480 ich_force_enable_hpet+0x69/0x15a
>> phys=fed1c000 ioremap
>> 0xf803e000-0xf8040000    8192 hpet_enable+0x2a/0x21b phys=fed00000 ioremap
>> 0xf8040000-0xf8046000   24576 alloc_iommu+0x18d/0x1d4 phys=feb00000 ioremap
>> 0xf8048000-0xf804a000    8192 pcim_iomap+0x2f/0x3a phys=e1b21000 ioremap
>> 0xf804c000-0xf804e000    8192 e1000_probe+0x229/0xa73 phys=e1b20000 ioremap
>> 0xf804f000-0xf8051000    8192 reiserfs_init_bitmap_cache+0x32/0x65
>> pages=1 vmalloc
>> 0xf8052000-0xf8064000   73728 journal_init+0x30/0x82a pages=17 vmalloc
>> 0xf8065000-0xf8067000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>> pages=1 vmalloc
>> 0xf8068000-0xf806a000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>> pages=1 vmalloc
>> 0xf806b000-0xf806d000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>> pages=1 vmalloc
>> 0xf806e000-0xf8070000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>> pages=1 vmalloc
>> 0xf8071000-0xf8073000    8192 reiserfs_allocate_list_bitmaps+0x27/0x7e
>> pages=1 vmalloc
>> 0xf8080000-0xf80a1000  135168 e1000_probe+0x1ca/0xa73 phys=e1b00000 ioremap
>> 0xf80a2000-0xf80a6000   16384 e1000e_setup_rx_resources+0x20/0xf7
>> pages=3 vmalloc
>> 0xf80a7000-0xf80ab000   16384 e1000e_setup_tx_resources+0x17/0x96
>> pages=3 vmalloc
>> 0xf80ac000-0xf80b0000   16384 e1000e_setup_rx_resources+0x20/0xf7
>> pages=3 vmalloc
>> 0xf80b1000-0xf80b5000   16384 e1000e_setup_tx_resources+0x17/0x96
>> pages=3 vmalloc
>> 0xf80c0000-0xf80e1000  135168 e1000_probe+0x1ca/0xa73 phys=e1a60000 ioremap
>> 0xf8100000-0xf8121000  135168 e1000_probe+0x1ca/0xa73 phys=e1a20000 ioremap
>> 0xf8122000-0xf81b3000  593920 journal_init+0x65b/0x82a pages=144 vmalloc
>> 0xf81b4000-0xf822f000  503808 sys_swapon+0x392/0x8f3 pages=122 vmalloc
>> 0xf8bbc000-0xf8cbe000 1056768 tnode_new+0x35/0x65 pages=257 vmalloc
>>
>>
>> And next  machine with kernel 2.6.29.3
>> dmesg:
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> Fix inflate_threshold_root. Now=15 size=11 bits
>> cat /proc/meminfo
>> MemTotal:        2072652 kB
>> MemFree:          496960 kB
>> Buffers:          267620 kB
>> Cached:           895212 kB
>> SwapCached:            0 kB
>> Active:           675744 kB
>> Inactive:         703312 kB
>> Active(anon):     215848 kB
>> Inactive(anon):        0 kB
>> Active(file):     459896 kB
>> Inactive(file):   703312 kB
>> Unevictable:           0 kB
>> Mlocked:               0 kB
>> HighTotal:       1186696 kB
>> HighFree:         151156 kB
>> LowTotal:         885956 kB
>> LowFree:          345804 kB
>> SwapTotal:       1975984 kB
>> SwapFree:        1975984 kB
>> Dirty:                20 kB
>> Writeback:             0 kB
>> AnonPages:        215724 kB
>> Mapped:             6120 kB
>> Slab:             186652 kB
>> SReclaimable:     125832 kB
>> SUnreclaim:        60820 kB
>> PageTables:          416 kB
>> NFS_Unstable:          0 kB
>> Bounce:                0 kB
>> WritebackTmp:          0 kB
>> CommitLimit:     3012308 kB
>> Committed_AS:     223692 kB
>> VmallocTotal:     122880 kB
>> VmallocUsed:        3192 kB
>> VmallocChunk:     108436 kB
>> HugePages_Total:       0
>> HugePages_Free:        0
>> HugePages_Rsvd:        0
>> HugePages_Surp:        0
>> Hugepagesize:       4096 kB
>> DirectMap4k:        8184 kB
>> DirectMap4M:      901120 kB
>> cat /proc/vmallocinfo
>> 0xf7ffe000-0xf8000000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=7fee0000 ioremap
>> 0xf8000000-0xf8005000   20480 acpi_tb_verify_table+0x1d/0x46
>> phys=7fee3000 ioremap
>> 0xf8006000-0xf8008000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=7fee3000 ioremap
>> 0xf800a000-0xf800c000    8192 acpi_tb_verify_table+0x1d/0x46
>> phys=7fee6000 ioremap
>> 0xf800d000-0xf800f000    8192 reiserfs_init_bitmap_cache+0x3b/0x80
>> pages=1 vmalloc
>> 0xf8010000-0xf8022000   73728 journal_init+0x30/0x8f0 pages=17 vmalloc
>> 0xf8023000-0xf8025000    8192 reiserfs_allocate_list_bitmaps+0x2d/0x90
>> pages=1 vmalloc
>> 0xf8026000-0xf8028000    8192 reiserfs_allocate_list_bitmaps+0x2d/0x90
>> pages=1 vmalloc
>> 0xf8029000-0xf802b000    8192 reiserfs_allocate_list_bitmaps+0x2d/0x90
>> pages=1 vmalloc
>> 0xf802c000-0xf802e000    8192 reiserfs_allocate_list_bitmaps+0x2d/0x90
>> pages=1 vmalloc
>> 0xf802f000-0xf8031000    8192 reiserfs_allocate_list_bitmaps+0x2d/0x90
>> pages=1 vmalloc
>> 0xf803e000-0xf8040000    8192 e1000_setup_all_tx_resources+0x57/0x660
>> pages=1 vmalloc
>> 0xf8040000-0xf8061000  135168 e1000_probe+0x207/0xeb0 phys=f5000000 ioremap
>> 0xf8062000-0xf8064000    8192 e1000_setup_all_rx_resources+0x57/0x6d0
>> pages=1 vmalloc
>> 0xf8065000-0xf8067000    8192 e1000_setup_all_tx_resources+0x57/0x660
>> pages=1 vmalloc
>> 0xf8068000-0xf806a000    8192 e1000_setup_all_rx_resources+0x57/0x6d0
>> pages=1 vmalloc
>> 0xf806b000-0xf806d000    8192 e1000_setup_all_tx_resources+0x57/0x660
>> pages=1 vmalloc
>> 0xf806e000-0xf8070000    8192 e1000_setup_all_rx_resources+0x57/0x6d0
>> pages=1 vmalloc
>> 0xf8080000-0xf80a1000  135168 e1000_probe+0x207/0xeb0 phys=f1040000 ioremap
>> 0xf80c0000-0xf80e1000  135168 e1000_probe+0x207/0xeb0 phys=f4000000 ioremap
>> 0xf80e2000-0xf8173000  593920 journal_init+0x56e/0x8f0 pages=144 vmalloc
>> 0xf8174000-0xf8267000  995328 sys_swapon+0x548/0xa30 pages=242 vmalloc
>> 0xf8d17000-0xf8e19000 1056768 tnode_new+0x7f/0x90 pages=257 vmalloc
>>
>>
>> because i have this info on 5 machines that working in ibgp mesh
>> And only one 64bit dev machine that is one of failover member - but i
>> kill this machine  after upgrade to kernel 2.6.31-rc1
>>     
>
> Yes, I was a fool to ask you to try 2.6.31-rc1, sorry.
>
>   
No problem with this test i lost only one test failover and no traffic 
lost when system switch to primary routers. :)
> Even 2.6.30 is too young for a production machine.
>   
I alvays make like this - i have iBGP mesh with main access path of 
machines on stable 2.6.28.9 kernels and second failover path  on 
machines  that use  newest kernel for  testing in this case  2.6.29 but 
after some problems i try also 2.6.30  yestarday.
> 2.6.29.5 contains the fixes, Pawel, did you tried this version ?
>
>
>   
I will try 2.6.29.5 today

Thanks
Paweł Staszewski