Re: [RFC PATCH v2 0/7] Speculative page faults

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

 



On 01/12/2016 13:50, Balbir Singh wrote:
> On Thu, Dec 1, 2016 at 7:34 PM, Laurent Dufour
> <ldufour@xxxxxxxxxxxxxxxxxx> wrote:
>> On 18/11/2016 15:08, Andi Kleen wrote:
>>> Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> writes:
>>>
>>>> This is a port on kernel 4.8 of the work done by Peter Zijlstra to
>>>> handle page fault without holding the mm semaphore.
>>>
>>> One of the big problems with patches like this today is that it is
>>> unclear what mmap_sem actually protects. It's a big lock covering lots
>>> of code. Parts in the core VM, but also do VM callbacks in file systems
>>> and drivers rely on it too?
>>>
>>> IMHO the first step is a comprehensive audit and then writing clear
>>> documentation on what it is supposed to protect. Then based on that such
>>> changes can be properly evaluated.
>>
>> Hi Andi,
>>
>> Sorry for the late answer...
>>
>> I do agree, this semaphore is massively used and it would be nice to
>> have all its usage documented.
>>
>> I'm currently tracking all the mmap_sem use in 4.8 kernel (about 380
>> hits) and I'm trying to identify which it is protecting.
>>
>> In addition, I think it may be nice to limit its usage to code under mm/
>> so that in the future it may be easier to find its usage.
> 
> Is this possible? All sorts of arch's fault
> handling/virtualization/file system and drivers (IO/DRM/) hold
> mmap_sem.

That's a good question ;)

I may be too optimistic / naive, and I'm not confident in the result of
such a goal but I think it may be good to keep such a direction in mind.
It may be possible to limit its usage as it has been done in the fs part.

Laurent.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]