Re: mmap hw behavior

From: David Miller
Date: Wed Jul 08 2009 - 14:06:29 EST


From: Michal Simek <michal.simek@xxxxxxxxxxxxx>
Date: Wed, 08 Jul 2009 20:03:27 +0200

> David Miller wrote:
>> From: Michal Simek <michal.simek@xxxxxxxxxxxxx>
>> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/