Re: mmap hw behavior

Michal Simek
2009-07-08T20:22:36Z

> Date: Wed, 08 Jul 2009 20:03:27 +0200
>
>
>> David Miller wrote:
>>
>>> From: Michal Simek <michal.simek@petalogix.com>
>>> Date: Wed, 08 Jul 2009 19:03:11 +0200
>>>
>>>
>>>
>>>> When I call mmap for that open file with pointer to calloc place
>>>> (first parameter, + length zero) it should be one tlb invalidation
>>>> for calloc and new tlb which connect open file. We check it and we
>>>> don't have any tlb invalidation that's why I think that kernel do
>>>> different thigs. Or is it there any copying? Or anything different?
>>>>
>>>>
>>> There is no need to tlb flush the calloc area unless that memory area
>>> is actually touched by the user application and thus the page is
>>> faulted in.
>>>
>>>
>> That calloc area is filled by any value (in that test). Is it mean that
>> for this case when calloc area is touched
>> there must be tlb invalidation + remapping?
>>
>
> Yes, if the calloc area is written to by the application, there
> should be a tlb flush when the mmap() overrides that virtual region
> with a different mapping.
>
Can you please point me to any code which exactly do this? (for example
file mm/mmap.c line from ... to ... )

Thanks,