lkml.org 
[lkml]   [2022]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 1/4] hugetlb: skip to end of PT page mapping when pte not present
    Hi Peter,

    On Fri, Jun 17, 2022 at 4:22 PM Peter Xu <peterx@redhat.com> wrote:
    > On Thu, Jun 16, 2022 at 02:05:15PM -0700, Mike Kravetz wrote:
    > > @@ -6877,6 +6896,39 @@ pte_t *huge_pte_offset(struct mm_struct *mm,
    > > return (pte_t *)pmd;
    > > }
    > >
    > > +/*
    > > + * Return a mask that can be used to update an address to the last huge
    > > + * page in a page table page mapping size. Used to skip non-present
    > > + * page table entries when linearly scanning address ranges. Architectures
    > > + * with unique huge page to page table relationships can define their own
    > > + * version of this routine.
    > > + */
    > > +unsigned long hugetlb_mask_last_page(struct hstate *h)
    > > +{
    > > + unsigned long hp_size = huge_page_size(h);
    > > +
    > > + switch (hp_size) {
    > > + case P4D_SIZE:
    > > + return PGDIR_SIZE - P4D_SIZE;
    > > + case PUD_SIZE:
    > > + return P4D_SIZE - PUD_SIZE;
    > > + case PMD_SIZE:
    > > + return PUD_SIZE - PMD_SIZE;
    > > + default:
    >
    > Should we add a WARN_ON_ONCE() if it should never trigger?

    And with panic_on_warn, it'll panic only once ;-)

    Gr{oetje,eeting}s,

    Geert

    --
    Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds

    \
     
     \ /
      Last update: 2022-06-17 17:28    [W:4.735 / U:0.488 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site