From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755383AbdJITCN (ORCPT ); Mon, 9 Oct 2017 15:02:13 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:34338 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755070AbdJITCL (ORCPT ); Mon, 9 Oct 2017 15:02:11 -0400 Date: Mon, 9 Oct 2017 20:02:13 +0100 From: Will Deacon To: Pavel Tatashin Cc: Mark Rutland , catalin.marinas@arm.com, linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org, kasan-dev@googlegroups.com, borntraeger@de.ibm.com, heiko.carstens@de.ibm.com, davem@davemloft.net, willy@infradead.org, mhocko@kernel.org, Ard Biesheuvel , sam@ravnborg.org, mgorman@techsingularity.net, Steve Sistare , daniel.m.jordan@oracle.com, bob.picco@oracle.com Subject: Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function Message-ID: <20171009190213.GF30828@arm.com> References: <20170920201714.19817-1-pasha.tatashin@oracle.com> <20170920201714.19817-10-pasha.tatashin@oracle.com> <20171003144845.GD4931@leverpostej> <20171009171337.GE30085@arm.com> <20171009182217.GC30828@arm.com> <20171009184834.GE30828@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Pavel, On Mon, Oct 09, 2017 at 02:59:09PM -0400, Pavel Tatashin wrote: > > We have two table walks even with your patch series applied afaict: one in > > our definition of vmemmap_populate (arch/arm64/mm/mmu.c) and this one > > in the core code. > > I meant to say implementing two new page table walkers, not at runtime. Ok, but I'm still missing why you think that is needed. What would be the second page table walker that needs implementing? > > My worry is that these are actually highly arch-specific, but will likely > > grow more users in mm/ that assume things for all architectures that aren't > > necessarily valid. > > I see, how about moving new kasan_map_populate() implementation into > arch dependent code: > > arch/x86/mm/kasan_init_64.c > arch/arm64/mm/kasan_init.c > > This way we won't need to add pmd_large()/pud_large() macros for arm64? I guess we could implement that on arm64 using our current vmemmap_populate logic and an explicit memset. Will