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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27EACC6379F for ; Wed, 22 Feb 2023 22:54:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233010AbjBVWyW (ORCPT ); Wed, 22 Feb 2023 17:54:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229869AbjBVWyU (ORCPT ); Wed, 22 Feb 2023 17:54:20 -0500 Received: from mail-vs1-xe29.google.com (mail-vs1-xe29.google.com [IPv6:2607:f8b0:4864:20::e29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E66AF10CA for ; Wed, 22 Feb 2023 14:54:18 -0800 (PST) Received: by mail-vs1-xe29.google.com with SMTP id d20so4330021vsf.11 for ; Wed, 22 Feb 2023 14:54:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1677106458; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vwXFOqgMuy52mReBM7YJtW0wWXswYMcjcxrkPg4Wbpk=; b=C4u1m+qj59yTXcFhECr+gLA8EE3O3Y42cUVexpZHT2IK/W9JYY+qiTKdFl70rnDcPc 8AEX1VXCVpnKRyQIaGQsEbxUPn9aa0bRoCVyrQEEEy5s53/MfVT4hiIggvzQclHrmBOB eMsjTVOv6nynaOFNalhqbHEfCXA+58L5VfCIzErJ/0Hag9SCfG/No3lrSna2RZXuc7Ks rkZA93dqgkUMZBFWkP2elM3P+cUkve2qeUgdbhjneXL3FLxkU3w7As4INVYIfWYGD1WV 3nLn/EEbSDb0f3hlM4V4unI1tqTHwLN07lS1kZVzyxNhMD2Pcvb3kfRv+gmNQ5nEcMw9 EBzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677106458; h=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=vwXFOqgMuy52mReBM7YJtW0wWXswYMcjcxrkPg4Wbpk=; b=C0lSBQLaZI+fPJAQW8N0CArnX1mwJA+4XqJ5ZhJNdf6pJ9/wyXbsgUMyhMjTuhNcwr feSZa1hUDm9UnU8kyRePiqm6h0QFKN1rA+SPbM8SuxnW/MaOxLOJl53E8tiuVb3wCMka KzL9qzwdZNharZEgk3m+2NMJxfJNMUbXf7rU5aRTITBz3E9lZPQESEloZmr29oZoxfjp PpR6t94iVh2cvpDaLocyASS0qJVHwmTTkLltkk5pO1KRVKCMV0Gs3npJBhwrvVAYxwfV IuzUWUD/Lo449eknQqLHig7x+JgT2sjSPcv1lysivjv19aGNXdRi4OdUpFvtnqekuUiL w8bw== X-Gm-Message-State: AO0yUKUlfjkrEePYOe4Py8/hcRhOZ0TJdiNE2c5QhZpx1Q14I51O79j6 OyCNxYeaIEph082iY2Z1IY9GkmkQK71hhQbtjsTpKQ== X-Google-Smtp-Source: AK7set8/28U69HPGUVsZOSqq2mG7uy8Ii3ibCWRXbJfiC/xiMdhOy1uOz48V38C7m+VeqUXgLFLiGCesuq9On+Q0RGk= X-Received: by 2002:a05:6122:1692:b0:401:42f3:fe4d with SMTP id 18-20020a056122169200b0040142f3fe4dmr1971940vkl.42.1677106457981; Wed, 22 Feb 2023 14:54:17 -0800 (PST) MIME-Version: 1.0 References: <20230218002819.1486479-1-jthoughton@google.com> <20230218002819.1486479-16-jthoughton@google.com> In-Reply-To: From: James Houghton Date: Wed, 22 Feb 2023 14:53:42 -0800 Message-ID: Subject: Re: [PATCH v2 15/46] hugetlb: add make_huge_pte_with_shift To: Mina Almasry Cc: Mike Kravetz , Muchun Song , Peter Xu , Andrew Morton , David Hildenbrand , David Rientjes , Axel Rasmussen , "Zach O'Keefe" , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Frank van der Linden , Jiaqi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 22, 2023 at 1:15 PM Mina Almasry wrote: > > On Fri, Feb 17, 2023 at 4:28 PM James Houghton wrote: > > > > This allows us to make huge PTEs at shifts other than the hstate shift, > > which will be necessary for high-granularity mappings. > > > > Acked-by: Mike Kravetz > > Signed-off-by: James Houghton > > > > Reviewed-by: Mina Almasry Thank you :) > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index f74183acc521..ed1d806020de 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -5110,11 +5110,11 @@ const struct vm_operations_struct hugetlb_vm_ops = { > > .pagesize = hugetlb_vm_op_pagesize, > > }; > > > > -static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page, > > - int writable) > > +static pte_t make_huge_pte_with_shift(struct vm_area_struct *vma, > > + struct page *page, int writable, > > + int shift) > > Nit: can this be 'unsigned int shift'. Because you're actually passing > it an unsigned int below and there is an implicit cast there. Yes it > will never matter, I know... Yes I think it should be unsigned int. Thanks for the catch. > > > { > > pte_t entry; > > - unsigned int shift = huge_page_shift(hstate_vma(vma)); > > > > if (writable) { > > entry = huge_pte_mkwrite(huge_pte_mkdirty(mk_pte(page, > > @@ -5128,6 +5128,14 @@ static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page, > > return entry; > > } > > > > +static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page, > > + int writable) > > +{ > > + unsigned int shift = huge_page_shift(hstate_vma(vma)); > > + > > + return make_huge_pte_with_shift(vma, page, writable, shift); > > +} > > + > > static void set_huge_ptep_writable(struct vm_area_struct *vma, > > unsigned long address, pte_t *ptep) > > { > > -- > > 2.39.2.637.g21b0678d19-goog > >