RE: Prefetch mmap_sem in ia64_do_page_fault()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 28 Mar 2006, Chen, Kenneth W wrote:

> > +	/* mmap_sem is performance critical.... */
> > +	prefetchw(&mm->mmap_sem);
> > +
> 
> I would say push that a couple of lines down after checking !mm
> 
>         if (in_atomic() || !mm)
>                 goto no_context;

I initially also thought that would be better.
 
> If you insist on prefetching mmap_sem at the very beginning of the
> function, then use speculative load, it will "nat" right away with
> null pointer without generating any exception at all.  It is super
> fast because of nat page.

I saw David Mosberger's patch from last year

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=458f935527372499b714bf4f8e646a68bb0f52e3

and it seems that he implemented fast handling of these NULL cases?

mm == NULL is very rare so I think we can try to prefetch as 
early as possible.
-
: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux