Re: shm swapping in 2.4 again

From: Christoph Rohland (cr@sap.com)
Date: Wed Nov 15 2000 - 15:52:18 EST


Hi Rik,

On Wed, 15 Nov 2000, Rik van Riel wrote:
> On 15 Nov 2000, Christoph Rohland wrote:
>
>> - shm_swap is called from swap_out. Actually on my machine after a
>> while it only gets called without __GFP_IO set, which means it
>> will not do anything which again leads to deadlock.
>
> Only _without_ __GFP_IO ? That's not quite right since
> that way the system will never get around to swapping out
> dirty pages...

Yes :-(

>> - If I call this from page_launder it will work much better, but
>> after a while it gets stuck on prepare_highmem_swapout and will
>> again lock up under heavy load.
>
> So calling it from page_launder() is just a workaround to
> make the deadlock more difficult to trigger and not a fix?

It does solve the __GFP_IO issue but triggers another lockup later.

>> 2) Integrating it into the global lru lists and/or the page cache.
>>
>> I think the second approach is the way to go but I do not
>> understand the global lru list handling enough to do this and I
>> do not know if we can do this in the short time.
>
> Indeed, this is the way to go. However, for 2.4 ANY change
> that makes the system work would be a good one ;)

That's what I think. But from my observations I get the impression
that balancing the vm for big shm loads will not work. So the second
approach is perhaps what we have to do to get it working.

Actually I would appreciate some hints, where I could hook into the vm
if I implement a swap_shm_page() which could be called from the
vm. Can I simply call add_to_lru_cache or do I need to add it to the
page cache...

Greetings
                Christoph

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Nov 15 2000 - 21:00:28 EST