Re: mmap hw behavior

David Miller
2009-07-08T18:06:28Z

From: Michal Simek <michal.simek@petalogix.com>
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.