[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <92d55a69-b400-8461-53a1-d505de089700@oracle.com>
Date: Wed, 4 Jan 2017 17:26:08 -0700
From: Khalid Aziz <khalid.aziz@...cle.com>
To: Dave Hansen <dave.hansen@...ux.intel.com>,
Rob Gardner <rob.gardner@...cle.com>, davem@...emloft.net,
corbet@....net, arnd@...db.de, akpm@...ux-foundation.org
Cc: hpa@...or.com, viro@...iv.linux.org.uk, nitin.m.gupta@...cle.com,
chris.hyser@...cle.com, tushar.n.dave@...cle.com,
sowmini.varadhan@...cle.com, mike.kravetz@...cle.com,
adam.buchbinder@...il.com, minchan@...nel.org, hughd@...gle.com,
kirill.shutemov@...ux.intel.com, keescook@...omium.org,
allen.pais@...cle.com, aryabinin@...tuozzo.com,
atish.patra@...cle.com, joe@...ches.com, pmladek@...e.com,
jslaby@...e.cz, cmetcalf@...lanox.com,
paul.gortmaker@...driver.com, mhocko@...e.com, jmarchan@...hat.com,
lstoakes@...il.com, 0x7f454c46@...il.com, vbabka@...e.cz,
tglx@...utronix.de, mingo@...hat.com, dan.j.williams@...el.com,
iamjoonsoo.kim@....com, mgorman@...hsingularity.net,
vdavydov.dev@...il.com, hannes@...xchg.org, namit@...are.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
sparclinux@...r.kernel.org, linux-arch@...r.kernel.org,
x86@...nel.org, linux-mm@...ck.org,
Khalid Aziz <khalid@...ehiking.org>
Subject: Re: [RFC PATCH v3] sparc64: Add support for Application Data
Integrity (ADI)
On 01/04/2017 05:14 PM, Dave Hansen wrote:
> On 01/04/2017 04:05 PM, Rob Gardner wrote:
>>> What if two different small pages have different tags and khugepaged
>>> comes along and tries to collapse them? Will the page be split if a
>>> user attempts to set two different tags inside two different small-page
>>> portions of a single THP?
>>
>> The MCD tags operate at a resolution of cache lines (64 bytes). Page
>> sizes don't matter except that each virtual page must have a bit set in
>> its TTE to allow MCD to be enabled on the page. Any page can have many
>> different tags, one for each cache line.
>
> Is an "MCD tag" the same thing as a "ADI version tag"?
>
> The thing that confused me here is that we're taking an entire page of
> "ADI version tags" and stuffing them into a swap pte (in
> set_swp_pte_at()). Do we somehow have enough space in a swap pte on
> sparc to fit PAGE_SIZE/64 "ADI version tag"s in there?
No, we do not have space to stuff PAGE_SIZE/64 version tags in swap pte.
There is enough space for just one tag per page. DaveM had suggested
doing this since the usual case is for a task to set one tag per page
even though MMU does not require it. I have implemented this as first
pass to start a discussion and get feedback on whether rest of the
swapping implementation and other changes look right, hence the patch is
"RFC". If this all looks good, I can expand swapping support in a
subsequent patch or iteration of this patch to allocate space in
mm_context_t possibly to store per cacheline tags. I am open to any
other ideas on storing this larger number of version tags.
Thanks,
Khalid
Powered by blists - more mailing lists