linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* sys_exit() and zap_page_range()
@ 2000-07-07 14:43 Andrew Morton
  2000-07-07 16:42 ` Manfred Spraul
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Andrew Morton @ 2000-07-07 14:43 UTC (permalink / raw)
  To: linux-mm

A couple of things...

First, let's concede that running mmap001 and mmap002 while you're
trying to achieve low scheduling latency is a dumb thing to do, but
let's explore it anyway.


On exit from mmap001, zap_page_range() is taking over 20 milliseconds on
a 500MHz processor.   Is there anything easy which can be done about
this?

No algorithmic optimisations leap out at me, so the options appear to
be:

(1) Live with it.

(2) Pass the mm over to the swapper task and let it quietly
    throw things away in the background.

(3) Put some conditional schedule calls in there.

I note that Ingo's low-latency patch does (3).  He's put `if
(current->need_resched) schedule();' in the loop in zap_pte_range().  In
2.4, it looks like this won't work because of the lock held on
mm->page_table_lock, and the lock held on mapping->i_shared_lock in
vmtruncate().

Can anyone suggest a simple, clean way of decreasing zap_page_range's
scheduling latency, in a way which you're prepared to support?



Secondly, and quite unrelatedly, mmap002: why does the machine spend 10
seconds pounding the disk during the exit() call?  The file has been
unlinked and all the memory is being freed up.  Apart from fiddling with
a bit of file metadata I don't see why any I/O needs to be performed at
this time.  What's it doing?

Thanks.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2000-07-11 15:23 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-07 14:43 sys_exit() and zap_page_range() Andrew Morton
2000-07-07 16:42 ` Manfred Spraul
2000-07-09 17:30 ` Philipp Rumpf
2000-07-09 17:42   ` Arjan van de Ven
2000-07-09 23:54   ` Andrew Morton
2000-07-10  9:53     ` Philipp Rumpf
2000-07-10 15:36       ` Andrew Morton
2000-07-10 17:34         ` Philipp Rumpf
2000-07-11  8:39 ` Stephen C. Tweedie
2000-07-11 11:24   ` Andrew Morton
2000-07-11 13:35     ` Stephen C. Tweedie
2000-07-11 15:23       ` Richard Guenther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox