Messages in this thread | ![/](/images/icornerl.gif) | | 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 | Wed, 9 Oct 2019 22:06:32 +0200 |
| |
On 10/9/19 9:20 PM, Linus Torvalds wrote: > > No. Your logic is garbage. The above code is completely broken. > > YOU CAN NOT AVOID TRHE SPLIT AND THEN GO ON AT THE PTE LEVEL. > > 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.
I wanted the pte level to *only* get called for *pre-existing* pte entries. Surely those must be able to exist even if we don't split occasional huge pmds in the pagewalk code?
> > So what you should do is to just always return 0 in your pmd_entry(). > Boom, done. The only reason for the pmd_entry existing at all is to > get the warning. Then, if you don't want to split it, you make that > warning just return an error (or a positive value) instead and say > "ok, that was bad, we don't handle it at all". > > And in some _future_ life, if anybody wants to actually say "yeah, > let's not split it", make it have some "yeah I handled it" case.
Well yes, this is exactly what I want. Because any huge pmd we encounter should be read-only.
/Thomas
| ![\](/images/icornerr.gif) |