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 3B386C3DA41 for ; Wed, 10 Jul 2024 17:33:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C25196B009F; Wed, 10 Jul 2024 13:33:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD3B56B00A0; Wed, 10 Jul 2024 13:33:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A9B456B00A1; Wed, 10 Jul 2024 13:33:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8D87E6B009F for ; Wed, 10 Jul 2024 13:33:04 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3CB8140185 for ; Wed, 10 Jul 2024 17:33:04 +0000 (UTC) X-FDA: 82324538688.08.5419842 Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169]) by imf10.hostedemail.com (Postfix) with ESMTP id 5F3B6C001B for ; Wed, 10 Jul 2024 17:33:02 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=TBuDCEFw; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720632757; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HvVDDEmpFZaMdI2FUKr1cZ22MakUZTGbQ7PWvtblDNs=; b=Oa0Yyl6ir60mqEydnoCat/tKddbZmpDJXRW434K/Jqy51MS/ESyUVrAhjTojCPtaIhIJJU v6Fsi1K3/w1R6wFLLMrAImGLRhCrVxFYlbtIv7VSdlZ77bce6mDLbPRmUZ9Fl0G3OqrZSw U0IutAAoRGlKDGUmbtJoRbaJWgsNtFw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=TBuDCEFw; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720632757; a=rsa-sha256; cv=none; b=8bCq6MZQAeRUtGt++gEsFlmjfz3eZyHBYMfvWLPOct/zUf8BeBVZvDc++kZBxuAGIKnce0 l8a/ZEUIoiKdpf1cfHNrwmMIlfke2r9ivr/pxDW1QvlVgLGupT4vJSq9JYBAO5sd4E772j sIDDM3fxg7gEkxA7B+uT8G6eMtE0fW4= Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-643f3130ed1so60352157b3.2 for ; Wed, 10 Jul 2024 10:33:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1720632781; x=1721237581; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HvVDDEmpFZaMdI2FUKr1cZ22MakUZTGbQ7PWvtblDNs=; b=TBuDCEFwk3LMY3V33h9CWxVhWwwjGR8wLFdntc1IAATQ2JgTM7Wf4dZt0W0Zt/orWt amr4FPLxlZvitV3cMT40HA1O2vCn/J+T030xBnaUeBLjE+h1SlwRb6vqiv4z0D3yq+q6 NrpbKxKCNgUXRLYa2+jMEMTvmlG3uwmF8Ftn54pZHW7Oq23juOI/VAAfVd1XDke11ZKx dBHxnTtXuD/DJxrcf0rT1i10U6gcZcj9UN/axY+9PlCsy0ByvHedO+jYMpQEWXQBEtoS ZP3wL+1n2zKJaIuBm7aTxE7bt+odoCAOjyaWjxr6KAIe2CCX/DBj/6uWjlDgVZYrD7te NOYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720632781; x=1721237581; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HvVDDEmpFZaMdI2FUKr1cZ22MakUZTGbQ7PWvtblDNs=; b=pDn7SXWlqePDjkOpybrB91Nrfyn8WRFfAozIMo/6O/mzX8XVeG05MuquxqtlmjUybe XcuY4i2iN7Gb9crK6VyubvZR4LsZ5xLnEbZmlTD/KOik1qM6FOBQHLmoXkbqW92p1p3j fL5xAsvywM9CBSKZkiA8PrjBOpdtILTSHTPxLskpxIEGIS5cZ1/H3P7W95PjsK16wAy5 9s4KozmZsQcm3Ark8bJMOy5GfT2kntAw53EQvCN4qpsWLIXFQr+E8w9gU0Klqiv0heWI 2ccybCncKVQ7ccy9Npxdb9sv6Je6g+xUXjXTIJOvLKManoEfobNZa7pRX3nVqkWskLhN LluA== X-Forwarded-Encrypted: i=1; AJvYcCVfIBmT/yp5OpKRCgZaoGR4MBjeLQikcd1pgw3u1WJ3hpbWa0UxgW4xqCmXIYnjngpzQhfpXC0xvh1rzLEAnEXDL0o= X-Gm-Message-State: AOJu0YxpC5oOjygj8MRGmel70vU00V1LAvZI2LntDKtUk1l2aExckAyH 3sL9Hr1bJcghry0mCucP79Jv00o4byDkZapp8KbDgc8Z466vKeeq0jB+a9yaU2IpKKtMcC+tqwI 6ffDFuQ9pzgGx9ekdQOE596dUkMm1s364R3Ix X-Google-Smtp-Source: AGHT+IGmpx1+Idub9F1goSZv6lGJvb6f5I03FVYBQVmDWes7dy0EfLBUgZB8gjKOYRNMHum3C+QdIlw3gXuGBzA8AS8= X-Received: by 2002:a81:8d0a:0:b0:646:49de:5dfd with SMTP id 00721157ae682-658ef4431ecmr55886377b3.25.1720632781111; Wed, 10 Jul 2024 10:33:01 -0700 (PDT) MIME-Version: 1.0 References: <20240704182718.2653918-1-Liam.Howlett@oracle.com> <20240704182718.2653918-15-Liam.Howlett@oracle.com> <7a0350b3-ea23-42d4-b2f7-4680d761c969@lucifer.local> In-Reply-To: <7a0350b3-ea23-42d4-b2f7-4680d761c969@lucifer.local> From: Suren Baghdasaryan Date: Wed, 10 Jul 2024 10:32:50 -0700 Message-ID: Subject: Re: [PATCH v3 14/16] mm/mmap: Use PHYS_PFN in mmap_region() To: Lorenzo Stoakes Cc: "Liam R. Howlett" , linux-mm@kvack.org, Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , Matthew Wilcox , sidhartha.kumar@oracle.com, "Paul E . McKenney" , Bert Karwatzki , Jiri Olsa , linux-kernel@vger.kernel.org, Kees Cook Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: xc49m85wzzauiete9stdxuyfwc6bkbn6 X-Rspam-User: X-Rspamd-Queue-Id: 5F3B6C001B X-Rspamd-Server: rspam02 X-HE-Tag: 1720632782-734788 X-HE-Meta: U2FsdGVkX1/QRZX47ezo0pw86fQoQbcf22AbUkAbqyzr42y93awh4AApLFwQJW/Whh3UDdr21e8s2kTtKfhw7kBD660s0sVxftRylRXi2TJAr429qznXLuETrpdlw73X+DIMsNn7gOb0lny+c6YDsWDWn+sBI7gU7khMZToNUrLLQG6iKnws6wy5emFVqGh8w8nM7qD2re4i/lWvHv5X4rkTus2kdolp5wbliru1+M0xdyGkqotoF8dTKcUewuzOy1aW3Xed/Go0K5YaPEsztPPNpzB1hJAGSADST1bXXy0s8nw4KF+FJI5UGl1mG0mDVAq7lnRk3m82yI4ANf/Z2wS3QcYnM3tdnQExaLfXLqDQgIAIv0NGlfOlKMhK3ApgmNUMAioT45LHN97djnHXOmhXvGPBGjgfG/LxJBKJV9rwtlj1ra4g9zUJUFMQ8Dv0PtGGt8sKIr/2/Zs+lJByiRSd9BLmlsqbKlrC7g7HLqEBePqz3PZ2mH5bd5npJLLbJikFB6DBDXaf4VVq7GYE6g50Zh7QUbrZ45Uh/zslx+ulQCPAYnawTHZdZX6hsJbvGjrt21DGjyvxO4OcZlx0FxMyWNulzwdHmUHjrvwXVR2gyu15wqG6vQvUGJDQLHC4slMHkL+u3nWlZgJB+cKP4bRYzQkc11KcSeuxdQbGjuoGzp3hKi6uV8SJIWhYcO9mTE8X69GDexzMaovfO0fyJGSIp3VeLgSZeyEQsEoWy3xXZfZU6lX/QpUUD0JFgPfQ9jVGK4mVEWNdE+1nzmStNn4J0fHWQFM3rQptblpq0HGLis8aqtfMIaZpZanyB7dssniBPKwhB0EmUgznVP3CJwyJmBt4AdtaMpYjsXToyAMrYKEef00N+LNbmhzX/Tj09bNu66ESf3S6rniMR1Q60HLnmUjLHfyk7BqRy4aJeOqf85kxomujrsk7tCbs5ZKiiupnR5GpdkOcXeLBPff m3wlIosd 1Tc/K2EmLAbDR3xIcgXl8Hq13OCObaZFBGIVR3zmAvHnjYDQqj4xUnQbZBR3nozuy7Un+wJgkJba46XO7y04BSLLGF1Ti0lmFOrfa8nAfGXKJ/BkJIXH6rpwx3Fb3blGPsqLhtlaYu5pveFbbKaO2yu4j342N/GRe0kAhK/WGBvpHmMItiUkCK9Hsp4ozDmOeBzLG/1FRXoi5S80FTLCZ4UbDi0N2oGZ4XsBOUpvVxajQ2nH2yIPtoOV+x9JZKxzMYYux9jFXMGifXrw= 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: List-Subscribe: List-Unsubscribe: On Mon, Jul 8, 2024 at 5:21=E2=80=AFAM Lorenzo Stoakes wrote: > > On Thu, Jul 04, 2024 at 02:27:16PM GMT, Liam R. Howlett wrote: > > From: "Liam R. Howlett" > > > > Instead of shifting the length by PAGE_SIZE, use PHYS_PFN. Also use th= e > > existing local variable everywhere instead of some of the time. > > > > Signed-off-by: Liam R. Howlett > > --- > > mm/mmap.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > index 0c334eeae8cd..b14da6bd257f 100644 > > --- a/mm/mmap.c > > +++ b/mm/mmap.c > > @@ -2935,7 +2935,7 @@ unsigned long mmap_region(struct file *file, unsi= gned long addr, > > struct mm_struct *mm =3D current->mm; > > struct vm_area_struct *vma =3D NULL; > > struct vm_area_struct *next, *prev, *merge; > > - pgoff_t pglen =3D len >> PAGE_SHIFT; > > + pgoff_t pglen =3D PHYS_PFN(len); > > unsigned long charged =3D 0; > > struct vma_munmap_struct vms; > > struct ma_state mas_detach; > > @@ -2955,7 +2955,7 @@ unsigned long mmap_region(struct file *file, unsi= gned long addr, > > * MAP_FIXED may remove pages of mappings that intersects with re= quested > > * mapping. Account for the pages it would unmap. > > */ > > - if (!may_expand_vm(mm, vm_flags, (len >> PAGE_SHIFT) - nr_pages)) > > + if (!may_expand_vm(mm, vm_flags, pglen - nr_pages)) > > return -ENOMEM; > > > > if (unlikely(!can_modify_mm(mm, addr, end))) > > @@ -2990,7 +2990,7 @@ unsigned long mmap_region(struct file *file, unsi= gned long addr, > > * Private writable mapping: check memory availability > > */ > > if (accountable_mapping(file, vm_flags)) { > > - charged =3D len >> PAGE_SHIFT; > > + charged =3D pglen; > > charged -=3D nr_accounted; > > if (security_vm_enough_memory_mm(mm, charged)) > > goto abort_munmap; > > @@ -3149,14 +3149,14 @@ unsigned long mmap_region(struct file *file, un= signed long addr, > > if (vms.nr_pages) > > vms_complete_munmap_vmas(&vms, &mas_detach); > > > > - vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT); > > + vm_stat_account(mm, vm_flags, pglen); > > if (vm_flags & VM_LOCKED) { > > if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) || > > is_vm_hugetlb_page(vma) || > > vma =3D=3D get_gate_vma(current->= mm)) > > vm_flags_clear(vma, VM_LOCKED_MASK); > > else > > - mm->locked_vm +=3D (len >> PAGE_SHIFT); > > + mm->locked_vm +=3D pglen; > > } > > > > if (file) > > -- > > 2.43.0 > > > > Maybe I should literally look ahead before making comments :)) thanks for > reading my mind and doing what I asked though! ;) > > However I don't think you've fixed the duplication of PHYS_PFN(vm_end - > vm_start) in count_vma_pages_range() - still worth doing I think. > > Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan