lkml.org 
[lkml]   [2016]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] sparc64: Add support for Application Data Integrity (ADI)
From
Date
On 03/07/2016 08:30 AM, Rob Gardner wrote:
> On 03/07/2016 07:07 AM, Khalid Aziz wrote:
>> On 03/05/2016 09:07 PM, David Miller wrote:
>>> From: Khalid Aziz <khalid.aziz@oracle.com>
>>> Date: Wed, 2 Mar 2016 13:39:37 -0700
>>>
>>>> In this
>>>> first implementation I am enabling ADI for hugepages only
>>>> since these pages are locked in memory and hence avoid the
>>>> issue of saving and restoring tags.
>>>
>>> This makes the feature almost entire useless.
>>>
>>> Non-hugepages must be in the initial implementation.
>>
>> Hi David,
>>
>> Thanks for the feedback. I will get this working for non-hugepages as
>> well. ADI state of each VMA region is already stored in the VMA itself
>> in my first implementation, so I do not lose it when the page is
>> swapped out. The trouble is ADI version tags for each VMA region have
>> to be stored on the swapped out pages since the ADI version tags are
>> flushed when TLB entry for a page is flushed.
>
>
> Khalid,
>
> Are you sure about that last statement? My understanding is that the
> tags are stored in physical memory, and remain there until explicitly
> changed or removed, and so flushing a TLB entry has no effect on the ADI
> tags. If it worked the way you think, then somebody would have to
> potentially reload a long list of ADI tags on every TLB miss.
>
> Rob
>

Hi Rob,

I am fairly sure that is the case. This is what I found from the
processor guys and others working on ADI. I tested it out by setting up
ADI on normal malloc'd pages that got swapped out and I got MCD
exceptions when those pages were swapped back in on access.

I mis-spoke when I said "....ADI version tags are flushed when TLB entry
for a page is flushed". I meant ADI version tags are flushed when
mapping for a virtual address is removed from TSB, not when TLB entry is
flushed. Yes, ADI tags are stored in physical memory and removed when
mapping is removed.

Thanks,
Khalid

\
 
 \ /
  Last update: 2016-03-07 17:21    [W:0.245 / U:0.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site