Messages in this thread | | | Date | Wed, 7 Oct 1998 01:09:05 +0200 (CEST) | From | MOLNAR Ingo <> | Subject | 'disposable' dirty pages [was: Out Of Memory in v. 2.1] |
| |
On Tue, 6 Oct 1998, Stephen C. Tweedie wrote:
> If you let user processes allocate all memory then _something_ has got > to die. There's no way round that. You are not suggesting any > solution to that fundamental problem.
while i have no fundamental solution to this fundamentally unsolvable problem, maybe there is something we could do to get applications cooperate better with the VM system. There is the example of AIX, where they have a signal (SIGNOMEM?) to nonfatally alert processes to free up memory. This approach is quite kludgy and an application never knows as much as the VM system about the state of memory usage.
But what about a new (?) approach, 'disposable mappings'. This would be a per-vma property, just like 'read-only' and 'grows-down', 'disposable' defines new behavior: the kernel is free to drop even dirty pages too from such a vma. libc could be one of the early users: the malloc cache has potentially many dirty pages which have no information content. Whenever a process accesses a 'disposed' vma, it gets a page-fault, and libc has to fix things up by newly allocating and mapping new memory. Another user could be X by marking it's internal, recreatable caches (which are dirty) as disposable.
-- mingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |