On 8/15/25 10:04, Matthew Brost wrote: > On Fri, Aug 15, 2025 at 08:51:21AM +1000, Balbir Singh wrote: >> On 8/13/25 10:07, Mika Penttilä wrote: >>> >>> On 8/13/25 02:36, Balbir Singh wrote: >>> >>>> On 8/12/25 15:35, Mika Penttilä wrote: >>>>> Hi, >>>>> >>>>> On 8/12/25 05:40, Balbir Singh wrote: ...
>> I've not run into this with my testing, let me try with more mTHP sizes >> enabled. I'll wait on Matthew >> to post his test case or any results, issues seen >> > > I’ve hit this. In the code I shared privately, I split THPs in the > page-collection path. You omitted that in v2 and v3; I believe you’ll > need those changes. The code I'm referring to had the below comment. > > 416 /* > 417 * XXX: No clean way to support higher-order folios that don't > match PMD > 418 * boundaries for now — split them instead. Once mTHP support > lands, add > 419 * proper support for this case. > 420 * > 421 * The test, which exposed this as problematic, remapped > (memremap) a > 422 * large folio to an unaligned address, resulting in the folio > being > 423 * found in the middle of the PTEs. The requested number of > pages was > 424 * less than the folio size. Likely to be handled gracefully by > upper > 425 * layers eventually, but not yet. > 426 */ > > I triggered it by doing some odd mremap operations, which caused the CPU > page-fault handler to spin indefinitely iirc. In that case, a large device > folio had been moved into the middle of a PMD. > > Upstream could see the same problem if the device fault handler enforces > a must-migrate-to-device policy and mremap moves a large CPU folio into > the middle of a PMD. > > I’m in the middle of other work; when I circle back, I’ll try to create > a selftest to reproduce this. My current test is a fairly convoluted IGT > with a bunch of threads doing remap nonsense, but I’ll try to distill it > into a concise selftest. > I ran into this while doing some testing as well, I fixed it in a manner similar to split_folio() for partial unmaps. I will consolidate the folio splits into a single helper and post it with v4. Balbir Singh