Re: [rfc] lru_add_drain_all() vs isolation

KOSAKI Motohiro
2009-09-09T04:27:14Z

> The usefulness of a scheme like this requires:
>
> 1. There are cpus that continually execute user space code
> without system interaction.
>
> 2. There are repeated VM activities that require page isolation /
> migration.
>
> The first page isolation activity will then clear the lru caches of the
> processes doing number crunching in user space (and therefore the first
> isolation will still interrupt). The second and following isolation will
> then no longer interrupt the processes.
>
> 2. is rare. So the question is if the additional code in the LRU handling
> can be justified. If lru handling is not time sensitive then yes.

Christoph, I'd like to discuss a bit related (and almost unrelated) thing.
I think page migration don't need lru_add_drain_all() as synchronous, because
page migration have 10 times retry.

Then asynchronous lru_add_drain_all() cause

- if system isn't under heavy pressure, retry succussfull.
- if system is under heavy pressure or RT-thread work busy busy loop, retry failure.

I don't think this is problematic bahavior. Also, mlock can use asynchrounous lru drain.

What do you think?