lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 5 Jun 2012 19:13:54 +0200 From: Andrea Arcangeli <aarcange@...hat.com> To: Konrad Rzeszutek Wilk <konrad@...nok.org> Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org, Hillf Danton <dhillf@...il.com>, Dan Smith <danms@...ibm.com>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Linus Torvalds <torvalds@...ux-foundation.org>, Andrew Morton <akpm@...ux-foundation.org>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>, Paul Turner <pjt@...gle.com>, Suresh Siddha <suresh.b.siddha@...el.com>, Mike Galbraith <efault@....de>, "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>, Lai Jiangshan <laijs@...fujitsu.com>, Bharata B Rao <bharata.rao@...il.com>, Lee Schermerhorn <Lee.Schermerhorn@...com>, Rik van Riel <riel@...hat.com>, Johannes Weiner <hannes@...xchg.org>, Srivatsa Vaddagiri <vatsa@...ux.vnet.ibm.com>, Christoph Lameter <cl@...ux.com> Subject: Re: [PATCH 04/35] autonuma: define _PAGE_NUMA_PTE and _PAGE_NUMA_PMD On Wed, May 30, 2012 at 04:01:51PM -0400, Konrad Rzeszutek Wilk wrote: > The only time the _PAGE_PSE (_PAGE_PAT) is set is when > _PAGE_PCD | _PAGE_PWT are set. It is this ugly transformation > of doing: > > if (pat_enabled && _PAGE_PWT | _PAGE_PCD) > pte = ~(_PAGE_PWT | _PAGE_PCD) | _PAGE_PAT; > > and then writting the pte with the 7th bit set instead of the > 2nd and 3rd to mark it as WC. There is a corresponding reverse too > (to read the pte - so the pte_val calls) - so if _PAGE_PAT is > detected it will remove the _PAGE_PAT and return the PTE as > if it had _PAGE_PWT | _PAGE_PCD. > > So that little bit of code will need some tweaking - as it does > that even if _PAGE_PRESENT is not set. Meaning it would > transform your _PAGE_PAT to _PAGE_PWT | _PAGE_PCD. Gah! It looks like this is disabled in current upstream? 8eaffa67b43e99ae581622c5133e20b0f48bcef1 > OK. I can whip up a patch to deal with the 'Gah!' case easily if needed. That would help! But again it looks disabled in Xen? About linux host (no xen) when I decided to use PSE I checked this part: /* Set PWT to Write-Combining. All other bits stay the same */ /* * PTE encoding used in Linux: * PAT * |PCD * ||PWT * ||| * 000 WB _PAGE_CACHE_WB * 001 WC _PAGE_CACHE_WC * 010 UC- _PAGE_CACHE_UC_MINUS * 011 UC _PAGE_CACHE_UC * PAT bit unused */ I need to go read the specs pdf and audit the code against the specs to be sure but if my interpretation correct, PAT is never set on linux host (novirt) the way the relevant msr are programmed. If I couldn't use the PSE (/PAT) it'd screw with 32bit because I need to poke a bit between _PAGE_BIT_DIRTY and _PAGE_BIT_GLOBAL to avoid losing space on the swap entry, and there's just one bit in that range (PSE). _PAGE_UNUSED1 (besides it's used by Xen) wouldn't work unless I change the swp entry format for 32bit x86 reducing the max amount of swap (conditional to CONFIG_AUTONUMA so it wouldn't be the end of the world, plus the amount of swap on 32bit NUMA may not be so important) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists