Messages in this thread | | | Subject | Re: [PATCH v4 3/9] mm: pagewalk: Don't split transhuge pmds when a pmd_entry is present | From | Thomas Hellström (VMware) <> | Date | Thu, 10 Oct 2019 01:50:49 +0200 |
| |
On 10/10/19 12:30 AM, Thomas Hellström (VMware) wrote: > On 10/9/19 10:20 PM, Linus Torvalds wrote: >> On Wed, Oct 9, 2019 at 1:06 PM Thomas Hellström (VMware) >> <thomas_os@shipmail.org> wrote: >>> On 10/9/19 9:20 PM, Linus Torvalds wrote: >>>> Don't you get it? There *is* no PTE level if you didn't split. >>> Hmm, This paragraph makes me think we have very different >>> perceptions about what I'm trying to achieve. >> It's not about what you're trying to achieve. >> >> It's about the actual code. >> >> You cannot do that >> >>> - split_huge_pmd(walk->vma, pmd, addr); >>> + if (!ops->pmd_entry) >>> + split_huge_pmd(walk->vma, pmd, addr); >> it's insane. >> >> You *have* to call split_huge_pmd() if you're doing to call the >> pte_entry() function. >> >> I don't understand why you are arguing. This is not about "feelings" >> and "intentions" or about "trying to achieve". >> >> This is about cold hard "you can't do that", and this is now the third >> time I tell you _why_ you can't do that: you can't walk the last level >> if you don't _have_ a last level. You have to split the pmd to do so. > It's not so much arguing but rather trying to understand your concerns > and your perception of what the final code should look like. >> >> End of story. > > So is it that you want pte_entry() to be strictly called for *each* > virtual address, even if we have a pmd_entry()? > In that case I completely follow your arguments, meaning we skip this > patch completely?
Or if you're still OK with your original patch
https://lore.kernel.org/lkml/CAHk-=wj5NiFPouYd6zUgY4K7VovOAxQT-xhDRjD6j5hifBWi_g@mail.gmail.com/
I'd happily use that instead.
Thanks,
Thomas
| |