Messages in this thread | | | From | Frank van de Pol <> | Subject | Re: Lockup 2.1.6* => kmalloc/slab | Date | Tue, 11 Nov 1997 22:05:00 +0100 (MET) |
| |
Mark Hemment wrote:
> Ideally, fixing the free-page pool fragmentation would be the ideal > solution. To do this cleanly, the whole Memory Management sub-system > needs to be written so that all references to an allocated page can be > found quickly - this involves PTE chains, which are fat and heavy.
sounds like quite some work...
{ great explanation on the VM system deleted }
> > In summary, change SLAB_BREAK_GFP_ORDER to 1.
Okay, did that, and tried to get it locked like was reproducable with the SLAB_BREAK_GFP_ORDER set to 2 (default). My old recipy for making the machine lockup didn't work, the machine kept running. So I pushed harder (more apps running, keeping more pages in-use), until it locked up ;-(
Then I changed the SLAB_BREAK_GFP_ORDER to 0, and tried again. As expected my machine was more 'prone' to this torturing :-) I was not able to get it into the lockup situatuation, but saw a weird phenomena:
quoting from syslog....
Nov 11 20:52:53 obelix kernel: kmalloc fails in alloc_skb() in skbuf.c; size=65620, priority=0
>>>> here is a debug message, captured by syslog (all the others vanished..) A kmalloc of size 65620 bytes fails.
>>>> at that time (same second, but in one second a lot can happen to the machine. Perhaps should make a call to show_mem() when this condition arrises)
Nov 11 20:55:22 obelix kernel: SysRq: Show Memory Nov 11 20:55:22 obelix kernel: Mem-info: Nov 11 20:55:22 obelix kernel: Free pages: 260kB Nov 11 20:55:22 obelix kernel: ( 1*4kB 2*8kB 1*16kB 1*32kB 1*64kB 1*128kB = 260kB)
>>>> 128kB block free ?
Nov 11 20:55:22 obelix kernel: Swap cache: add 3613/3613, delete 2440212/2491, find 11677/1030 Nov 11 20:55:22 obelix kernel: Free swap: 83572kB Nov 11 20:55:22 obelix kernel: 8192 pages of RAM Nov 11 20:55:22 obelix kernel: 221 free pages Nov 11 20:55:22 obelix kernel: 458 reserved pages Nov 11 20:55:22 obelix kernel: 1454 pages shared Nov 11 20:55:22 obelix kernel: Buffer memory: 120kB Nov 11 20:55:22 obelix kernel: Buffer heads: 156 Nov 11 20:55:22 obelix kernel: Buffer blocks: 120 Nov 11 20:55:22 obelix kernel: CLEAN: 35 buffers, 31 used (last=35), 1 locked, 0 protected, 0 dirty Nov 11 20:55:22 obelix kernel: LOCKED: 48 buffers, 31 used (last=31), 0 locked, 0 protected, 0 dirty Nov 11 20:55:22 obelix kernel: DIRTY: 36 buffers, 3 used (last=4), 0 locked, 0 protected, 36 dirty Nov 11 20:55:22 obelix kernel: Networking buffers in use : 613 Nov 11 20:55:22 obelix kernel: Total network buffer allocations : 567859 Nov 11 20:55:22 obelix kernel: Total failed network buffer allocs : 638 <<<--- here they are !!! Nov 11 20:55:22 obelix kernel: IP fragment buffer size : 0 Nov
never got these 4kB alloc failures :-)
Regards,
Frank.
========================----------------> #define NAME "Frank van de Pol" #define ADDRESS "mgr. Nelislaan 10" #define CITY "4741 AB Hoeven" #define COUNTRY "The Netherlands" #define EMAIL "F.K.W.van.de.Pol@inter.NL.net
Linux - Why use Windows, since there is a door?
| |