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 9EF0BC46467 for ; Thu, 19 Jan 2023 18:50:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A3646B007E; Thu, 19 Jan 2023 13:50:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 353416B0080; Thu, 19 Jan 2023 13:50:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21BA56B0081; Thu, 19 Jan 2023 13:50:40 -0500 (EST) 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 1028E6B007E for ; Thu, 19 Jan 2023 13:50:40 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E3EA2403F3 for ; Thu, 19 Jan 2023 18:50:39 +0000 (UTC) X-FDA: 80372439798.22.4F3784F Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf07.hostedemail.com (Postfix) with ESMTP id 2146A4001D for ; Thu, 19 Jan 2023 18:50:37 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dlc59HMJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674154238; 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=eCvXHKVijbmbjH81od326ayo2MhxMbECncpGDk9OY+w=; b=6jUdez06t6hCnkjViogL+lKEMA/PIWmVcqS8wTXTOkhpakDJnS5lS4M2fiTJNt2UyUFCOu 5mQdUVkTq6NFQZru0uJW0yxpeMCqJIEvuyOqgYlp+Dl73JGqFCeTpWg40lBOIDYH393Haz gVNoSIHSAS/uIRtY8Xhyh1wV8PZLeCI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dlc59HMJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674154238; a=rsa-sha256; cv=none; b=0c3dMZ+09+V6eBvTF+K5YwhPRR5vFA0RWkS1pbTQWBxUfCFaE5dziR5mL6spVUVk3hcGz1 gMVozBVUSnaCKHLg5VwCDqc45NeaFQLKxtMd0ePuIC3kHKT+3azbp+WfrE8kUUs01BxPsa IKPYslD17M9HrS1Ww89teyr3NMJmDEM= Received: by mail-ej1-f47.google.com with SMTP id hw16so8061236ejc.10 for ; Thu, 19 Jan 2023 10:50:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=eCvXHKVijbmbjH81od326ayo2MhxMbECncpGDk9OY+w=; b=dlc59HMJezESp/j6sRFO7RucOnH5sgeyC/WEsh76rgZyYh00pQCwU6GxoofHwkAepR CNef4XQAWwdqRb0aetlGesto/LtcF2cMOFMfJQoJeMntqQDPqyY/WU7BsaoMiAKRD5nL sndXi6tgLmrZx9NCXXv8JziqKwk1y+RdrPA6IAH+cBCUEVhWRvmrhfcc3GVcZau/7vYr l7diE1VKX7SWNbdVi7nrvVzfkES24ZCOd9wAz6xmY38fu9bsJJoqmzP2c7jNvwy+B1I2 Er4TthkVqHKSvgrZ3HcSiAMnWfrKfE6w0lbyd6tSgniOoCLr+ez6CFb4os93kiO28mJR RQeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=eCvXHKVijbmbjH81od326ayo2MhxMbECncpGDk9OY+w=; b=aw0qvVknCyXwU8XFRQSp0PujIC/73QRbKx27aekBWeFt+JSsMTJD3w3nYp9Tu961nV 4fWg+aNYlBitDGo/Pk6Ch3ZzOsIUTf0S6be35SoJNAwMXxpejLif8eSDm6At83+vV4rC 7rNf1av4OtSpR8DGWNK4VMHn2eGpdYaxuR/ANKjwbSMGPGUYI6LRGuPyxI05TZ6oXiFp zL7ezUTGRLepoxiG9LvR34u9U+qE4rWUsl5PYwZgHNdFXoqO1okuoPPdATU/3vW6fC5r MOctGFDzfW2WTYhmZxOZLrU6YYDDqREBsfXKI9ZIr3JLno8+f+Aq2oqMK4fAqu6rrZqD vJ2A== X-Gm-Message-State: AFqh2krzatx4jvIXnCD1o6x7llvo9f5zeMbDDeaIq/5dLkTYdSAXWnYO fSfkARzxxS+Ctv/oBy0KzAg= X-Google-Smtp-Source: AMrXdXuNRP3hlr+S/9xdrvtVHUa+g3RJc7wO4jbprOH3/KMPc7R3kxGNOcW+wMBoL5Ky7KvpPoI0nQ== X-Received: by 2002:a17:907:c5c5:b0:86f:5375:9f5d with SMTP id ts5-20020a170907c5c500b0086f53759f5dmr13589149ejc.1.1674154236863; Thu, 19 Jan 2023 10:50:36 -0800 (PST) Received: from pc636 (host-90-235-24-47.mobileonline.telia.com. [90.235.24.47]) by smtp.gmail.com with ESMTPSA id g1-20020a17090604c100b0085b80a499fcsm11827736eja.127.2023.01.19.10.50.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jan 2023 10:50:36 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Thu, 19 Jan 2023 19:50:34 +0100 To: Christoph Hellwig Cc: Andrew Morton , Uladzislau Rezki , linux-mm@kvack.org Subject: Re: [PATCH 10/10] mm: refactor va_remove_mappings Message-ID: References: <20230119100226.789506-1-hch@lst.de> <20230119100226.789506-11-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230119100226.789506-11-hch@lst.de> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 2146A4001D X-Stat-Signature: 39u4y3eofqhdbq5gk6tg53urjkaw58cf X-HE-Tag: 1674154237-452048 X-HE-Meta: U2FsdGVkX196S16ylwS4DkLFQojdYLoCkF3CVgsLzj8dZXYGNbDTh5BHepa72McMIwcHj6N/JU+iX8E0RVXKzmCsbfkbRldrp5BzG4tyIZW5IqaJCsOMJDaqBixljrr5+/4qXTTanlaZXEk3ANzehJl0dtRGvUiBscoeqf1dVzPcgT6UU9qCdT0BiD/6SwpRZeMsjfB2EmTk/V0p1E2qavSjFnVpeiY/BpfS7rxSFvYC5XZEa3TVxQdvmtTvXFOnvVAu6o2kc8NRq0kUXIP/tVnGsyx8g3h3v6Q4SizT+0xfnr1n2AJbD5M2fXK+gpVF5q5L+t5l7+J+Y4R02XBMkh4QCJ2IfcowbpqIZWEoLak4gmfXVkm12N2wCo2Pja68wRawQX9lfjq3y7kWb4e4HEswF2613sbKpHel0X/5xyu8ChusoUqLgYs76CYJV7cmKgvYae974/p6OzenV9R8BZfhZeegcx8m2tmSqY1ayhEsnvC2ZYF9evDpYqZlktI5vvPcFtfWHPpJccwftNmJOP4RhJCcBEHZsh7bgZGYmjzVy/BcJ4UswWiN9SMPX7ctvad5kgelgEKJA6N1vool/S9jVT4wG1cxj4mjANy9Ryh4bImUpvHCbOKIc3dWh2iRaaWuJCxDuRQqy2eH3Lb5QwUzL3AH9nGxwUT03tEb0UZEc+hNYfcY3ZZZTwAk9mKiGpEKfb0vHXx1JMt6Ro+cdfKe6CKU6/ZOvQLqCzrkMrQV0zi0sLG8scFYbZQ+NJQfwjFAFs0nd7SS+0rQJku/vAZjaiTUNFVKQFtnHVqlhlrgQuvSfxasaBl96q68hf5Evq4EPS7hCO2JKbm2BxDJxGxNgq6IOoCOf0KJefMWVH9V+mJM1pAqEGq98i4agQ6I4jENB2tvWMWsPI1lAiWgFy+48q7weEa7muedpqUqCEJ8eqXblGl7QkoSyz+/uXz0Uaguu2XghQS5l5Vx1B4 ateZkUbT GygPHA4qWaHErS0kRFM6C1+QOip48YGIxG+UrSkALB8p7uujMoldXc4ZKabtrK8eHXh4chmzsARarqbCMGoq4TBt0+tqPqEQbtOw6sSBA33osSVTbn+KcmeleiQuTmhZRLA3i3Cv7X1y7Km0= 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: On Thu, Jan 19, 2023 at 11:02:26AM +0100, Christoph Hellwig wrote: > Move the VM_FLUSH_RESET_PERMS to the caller and rename the function > to better describe what it is doing. > > Signed-off-by: Christoph Hellwig > --- > mm/vmalloc.c | 27 ++++++++------------------- > 1 file changed, 8 insertions(+), 19 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 791d906d7e407c..f41be986b01e4e 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2617,35 +2617,23 @@ static inline void set_area_direct_map(const struct vm_struct *area, > set_direct_map(area->pages[i]); > } > > -/* Handle removing and resetting vm mappings related to the vm_struct. */ > -static void va_remove_mappings(struct vm_struct *area, int deallocate_pages) > +/* > + * Flush the vm mapping and reset the direct map. > + */ > +static void vm_reset_perms(struct vm_struct *area) > { > unsigned long start = ULONG_MAX, end = 0; > unsigned int page_order = vm_area_page_order(area); > - int flush_reset = area->flags & VM_FLUSH_RESET_PERMS; > int flush_dmap = 0; > int i; > > - /* If this is not VM_FLUSH_RESET_PERMS memory, no need for the below. */ > - if (!flush_reset) > - return; > - > - /* > - * If not deallocating pages, just do the flush of the VM area and > - * return. > - */ > - if (!deallocate_pages) { > - vm_unmap_aliases(); > - return; > - } > - > /* > - * If execution gets here, flush the vm mapping and reset the direct > - * map. Find the start and end range of the direct mappings to make sure > + * Find the start and end range of the direct mappings to make sure that > * the vm_unmap_aliases() flush includes the direct map. > */ > for (i = 0; i < area->nr_pages; i += 1U << page_order) { > unsigned long addr = (unsigned long)page_address(area->pages[i]); > + > if (addr) { > unsigned long page_size; > > @@ -2740,7 +2728,8 @@ void vfree(const void *addr) > return; > } > > - va_remove_mappings(vm, true); > + if (unlikely(vm->flags & VM_FLUSH_RESET_PERMS)) > + vm_reset_perms(vm); > for (i = 0; i < vm->nr_pages; i++) { > struct page *page = vm->pages[i]; > > -- > 2.39.0 > Reviewed-by: Uladzislau Rezki (Sony) -- Uladzislau Rezki