lkml.org 
[lkml]   [2004]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: anon-vma (and now filebacked-mappings too) mprotect vma merging [Re: 2.6.5-rc2-aa vma merging]
On Sat, Apr 03, 2004 at 05:13:58PM -0800, Andrew Morton wrote:
> That change was made for scheduling latency reasons, mainly due to huge
> pagetable walks in zap_page_range():
>
> i_shared_lock is held for a very long time during vmtruncate() and
> causes high scheduling latencies when truncating a file which is
> mmapped. I've seen 100 milliseconds.
>
> So turn it into a semaphore. It nests inside mmap_sem. This
> change is also needed by the shared pagetable patch, which needs to
> unshare pte's on the vmtruncate path - lots of pagetable pages need to
> be allocated and they are using __GFP_WAIT.
>
> If we no longer hold that lock during pte takedown then sure, it would
> be better if we had a spinlock in there.

agreed, vmtruncate may still be very costly due the pte scan, so
I was probably wrong about not needing the semaphore anymore with
prio-tree (I was too objrmap centric, and after all objrmap with the
trylocks threats it like a spinlock anyways), though the semaphore
cannot help the latency of the non-contention case (I mean with preempt
disabled), that seem to have room for improvements with a cond_sched()
before returning from invalidate_mmap_range_list not present yet.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.047 / U:1.548 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site