From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AC397C7618E for ; Thu, 16 Mar 2023 20:12:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1D692900003; Thu, 16 Mar 2023 16:12:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1603F900002; Thu, 16 Mar 2023 16:12:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1B10900003; Thu, 16 Mar 2023 16:12:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DFE68900002 for ; Thu, 16 Mar 2023 16:12:35 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A8BF5140573 for ; Thu, 16 Mar 2023 20:12:35 +0000 (UTC) X-FDA: 80575859070.28.7A5AD5D Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf10.hostedemail.com (Postfix) with ESMTP id C8557C002D for ; Thu, 16 Mar 2023 20:12:33 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nRHXAN89; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678997554; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=28l/LA0iea2jx7HDHroYpYtiyUlvJ8uWUi61pJOaFoI=; b=vyf+J/6hTJmwazUbVGYqmhYDl25I4tsF9qI1RuFUPhlNdtTyuWppAG54EBQboj1/NET7/e YKd4ynUgEuXGceEiFKuJ9ofVYE33We6GxIb0qoqAZhd+qrxR/rL7Qz6or5T29rHXbmDYse HG6L7tOKHHTtaNJkW7HXG9LY8CdfT8M= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nRHXAN89; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678997554; a=rsa-sha256; cv=none; b=TDpYk5xv0hG3Haz6G2THvt2oBQIM6j4i/VUhAlQ/T0T/Oc/GUapEXwpc0eZvJ1WNvkEzt4 AtRizG8LRaZ6Gvm9JoXypAbWVFOLBC/Xd5enSOhnfTSxQsEaIOac1EwOx2LPHcELSIDriG UjjpvYNLpR6OSMAV2iS71Db+hMFnvEk= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id D2CDEB82348; Thu, 16 Mar 2023 20:12:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D10B9C433EF; Thu, 16 Mar 2023 20:12:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678997550; bh=aVKFhVYxDwxQfxrSuIzE8aVSFP2JSCdE26VT7FUCnes=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nRHXAN89HeDXuyyPlAdXiD6tB51zPZGWpAh8J9Ni4lm/ylqi3s8VZXQY6yrMVZ7sW 94YTfqrzPhIh6XTIJYZxn+K3cthdlvLqm1C+VXSdSpWt07zo0jBN+rl+KSGc13RTqT 0U072E3JMiG4u/5i5Tg2+Og9HnhtafWi5gBH31kY8XvBMZ2hRmqIuddUh1Q1nOPnia PczKkteoP/fj0/qc3yIz3gzNCOg18RcB7SwZxFlgXYNWiumeu4/AiAqUGfpwbs/+Rc +GGnxorVv7bd5gxBNLBycpc3aWr8L8s8tNv+KQxRUs8gFqY/YpwaTekGlVFEvXO3d9 Orclfio6PwZxQ== Date: Thu, 16 Mar 2023 22:12:14 +0200 From: Mike Rapoport To: Alexandre Ghiti Cc: Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , Rob Herring , Frank Rowand , Andrew Morton , Anup Patel , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v8 2/4] mm: Introduce memblock_isolate_memory Message-ID: References: <20230316131711.1284451-1-alexghiti@rivosinc.com> <20230316131711.1284451-3-alexghiti@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230316131711.1284451-3-alexghiti@rivosinc.com> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C8557C002D X-Stat-Signature: 6trtpsj8ihpb3ac1ru8jzdmbpr4y6n5y X-HE-Tag: 1678997553-356726 X-HE-Meta: U2FsdGVkX18cvI1ZEmpr+XoZBJ8ElBxq/ASYi6/rRytyt5HdGI2Sbo5KiU/E6cTQvRXqX8dISr1IOke+WkXAMt4jvouW/vD6Kf45Z+ftcaMzpBWSTT6PsfwQrqTGJALpCe4t6iXxuxCLmXrdcxYAQGpIn7jxdNHj0+UfOrg4v8oyg51MjPFKKRWMxeH2Z2k3ttcte53vKV84OKr2lm8VX9aJEIjtthWfh+G/VXFS5UL+domWVMhHhxCA9YgGaA8QVa6vqNqCmvxvurT1KsaJL+5KWPVmKR+xr4uNEQYbRkVVqnAxvNu6RTHvJoutl3w/L3pbXFfW2n2twRqowER8v4Xf7Xvn6Tar1VBTcaaPnid79mNGieMF05H7wkycsSHwZiMzbs+yj9mBQLPemsOIFe5LcBPmTJiYTIFC5O+Gr3tWs57UmWrjOjWukSY72O/sD+9u6GN7nZbe6YwzIsnZL6XDLa0rzmwJOsfcOAK1wcunJJdfclFg7G7f7gSQhe8rPQ5/eyDwcRTgxNKuRaNUW9L2rJBoheFxkwFQlj12W4g7Xf7yOkwXcG7z5m7QvekDwAR37IwQ21aGAAiDCfppdTJUr52gmtmQOcyHpX0lKyP6pnuN05g1k0DSjLXiX2spT+Cpi4uLf+TxDglzxvBoXySbHjfv8HsmeUwtF7q2RCC2+MZmPtn/leuzLk9j5Wj4iqz9lxu9SggsBtNUDMPFc2I/orgWQv/pvl1SdeOUGyZmITUhDhAAo/WsWeKPO+OoyVr0Zgb2kMFKoZ7GUpJ9r7mIQsrh9aL4Nn38fT1lw8jvJEm5UOGHXHcMlA6NgdB5DGho5wq/VEU0mjVCalQSIx61wOCKBjXwZdJwf7zxHmeW6o6QRSszdtPx7gm4515yv541KwyREtUS0FlF23HMz/Bl1w1c4/uLO+D5EzN70l1GdllA94ZVS2SNpZf3xIHeE9wAZ04J7TvhojyqH6Q ojNr1i7g kA+USGEvGjaWDg4DI+NgdwRohHuYx+BbRMiqkek3k/j0sWuKVPwDKM0y34BN/6g3y0nBWKiPHfp0/n7NTNsdpL8r+TfgAtQbOJU9JR4l33b/u8MuOnLEO0xRx7WcRh1GnRwAFyvbb73cVFsyNusz7wQprQaTYC8TvyCQLWEvwm3t7IDOYDgVtFioIXDcegwdieX4YNfnbArbGZHk/tQXYyqyzc3VOsLWqP5vGgFoLucOh/ib9YIpCUxLBJubhdef+fUcO23QRVCqGcFiXGJ0Pcd9kUbagVPNYhhnPsunVr+as4ljhT48pc1WQrVEhnS9XDNiX60kY5FrDwXIsOaKHOEVrqwbLIMy03Fx/xEl0zGHMiDBXA8vGoZfLB0Z8dfgwoO6fFnbFw3lYyt0qAa+oGa3lc+UA97hko/lzog5Q0kSoSmrutePDA8r/Z4VfYTM4OsSPh0i9Y43yRvR0yz2iW1AcrbkvdhgqfmaXISuG55GytByoMTMgn5FFfmNI+Rhic8HgzYv5kHc3v6z6FvIXnLpRWp8T1KofOY01qdracjCYOj8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Alexandre, On Thu, Mar 16, 2023 at 02:17:09PM +0100, Alexandre Ghiti wrote: > This function allows to split a region in memblock.memory and will be > useful when setting up the linear mapping with STRICT_KERNEL_RWX: it > allows to isolate the kernel text/rodata and then avoid to map those > regions with a PUD/P4D/PGD. Sorry I've missed it last time. The changelog is fine in the context of this series, but if you look at it as a part of memblock changelog it doesn't provide enough background on why memblock_isolate_memory() is useful. Can you please add more context so it would be self explanatory? > Signed-off-by: Alexandre Ghiti > Reviewed-by: Anup Patel > Tested-by: Anup Patel > --- > include/linux/memblock.h | 1 + > mm/memblock.c | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/include/linux/memblock.h b/include/linux/memblock.h > index 50ad19662a32..2f7ef97c0da7 100644 > --- a/include/linux/memblock.h > +++ b/include/linux/memblock.h > @@ -125,6 +125,7 @@ int memblock_clear_hotplug(phys_addr_t base, phys_addr_t size); > int memblock_mark_mirror(phys_addr_t base, phys_addr_t size); > int memblock_mark_nomap(phys_addr_t base, phys_addr_t size); > int memblock_clear_nomap(phys_addr_t base, phys_addr_t size); > +int memblock_isolate_memory(phys_addr_t base, phys_addr_t size); > > void memblock_free_all(void); > void memblock_free(void *ptr, size_t size); > diff --git a/mm/memblock.c b/mm/memblock.c > index 25fd0626a9e7..e8c651a37012 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -805,6 +805,26 @@ static int __init_memblock memblock_isolate_range(struct memblock_type *type, > return 0; > } > > +/** > + * memblock_isolate_memory - isolate given range in memblock.memory > + * @base: base of range to isolate > + * @size: size of range to isolate > + * > + * Isolates the given range in memblock.memory so that it does not share any > + * region with other ranges. > + * > + * Return: > + * 0 on success, -errno on failure. > + */ > + > +int __init_memblock memblock_isolate_memory(phys_addr_t base, phys_addr_t size) > +{ > + int start_rgn, end_rgn; > + > + return memblock_isolate_range(&memblock.memory, base, size, > + &start_rgn, &end_rgn); > +} > + > static int __init_memblock memblock_remove_range(struct memblock_type *type, > phys_addr_t base, phys_addr_t size) > { > -- > 2.37.2 > -- Sincerely yours, Mike.