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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to