Re: [virtual memory] page_table_lock & mmap_sem

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

 



On 03/29/2011 06:30 PM, Venkatram Tummala wrote:
> Hi,
>
> Why do we need both page_table_lock & mmap_sem in the kernel. Why isn't
> mmap_sem good enough for serialization. As far as i see it, all attempts
> to change the page table hierarchy in the kernel is done after holding
> the write lock on mmap_sem. As we are already holding the write lock, we
> do we need an extra page_table_lock (spinlock) ? Are there any code
> paths in the kernel which attempt to modify the page table hierarchy
> without holding the write lock on mmap_sem ?

Yes, there are.

Look at the page fault code, which takes a read lock
on mmap_sem.

This allows multiple threads in a multi-threaded process
to handle page faults simultaneously.

-- 
All rights reversed.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux