Re: Simple script that locks up my box with recent kernels

Linus Torvalds
2006-11-22T02:36:44Z

On Wed, 22 Nov 2006, Jesper Juhl wrote:
>
> So it *seems* to be somehow related to running low on RAM and swap
> starting to be used.

Does it happen if you just do some simple "use all memory" script, eg run
a few copies of

#define SIZE (100<<20)

char *buf = malloc(SIZE);
memset(buf, SIZE, 0);
sleep(100);

on your box?

> The box has 2GB of RAM and 768MB swap.

I wonder.. It _used_ to be true that we were pretty good at making swap be
"extra" memory. But maybe we've lost some of that, and we have trouble
with having more physical memory. We could end up in a situation where we
allocate it all very quickly (because we don't actually page it out, we
just allocate backing store for the pages), and we screw something up.

But stupid bugs there should still leave us trivially able to do the SysRQ
things, so..

Is it highmem-related? Some bounce-buffering problem while having to swap?
What block device driver do you use for the swap device?

I don't think we use any irq-disable locking in the VM itself, but I could
imagine some nasty situation with the block device layer getting into a
deadlock with interrupts disabled when it runs out of queue entries and
cannot allocate more memory..

Linus