On Wed, Oct 30, 2024 at 3:17 PM Bernd Schubert <bernd.schubert@xxxxxxxxxxx> wrote: > > > > On 10/30/24 22:56, Shakeel Butt wrote: > > On Wed, Oct 30, 2024 at 10:35:47AM GMT, Joanne Koong wrote: > >> On Wed, Oct 30, 2024 at 10:27 AM Bernd Schubert > >> <bernd.schubert@xxxxxxxxxxx> wrote: > >>> > >>> > >>> Hmm, if tmp pages can be compacted, isn't that a problem for splice? > >>> I.e. I don't understand what the difference between tmp page and > >>> write-back page for migration. > >>> > >> > >> That's a great question! I have no idea how compaction works for pages > >> being used in splice. Shakeel, do you know the answer to this? > >> > > > > Sorry for the late response. I still have to go through other unanswered > > questions but let me answer this one quickly. From the way the tmp pages > > are allocated, it does not seem like they are movable and thus are not > > target for migration/compaction. > > > > The page with the writeback bit set is actually just a user memory page > > cache which is moveable but due to, at the moment, under writeback it > > temporarily becomes unmovable to not cause corruption. > > Thanks a lot for your quick reply Shakeel! (Actually very fast!). > > With that, it confirms what I wrote earlier - removing tmp and ignoring > fuse writeback pages in migration should not make any difference > regarding overall system performance. Unless I miss something, > more on the contrary as additional memory pressure expensive page > copying is being removed. > Thanks for the information Shakeel, and thanks Bernd for bringing up this point of discussion. Before I celebrate too prematurely, a few additional questions: Are tmp pages (eg from folio_alloc(GFP_NOFS | __GFP_HIGHMEM, 0)) and page cache pages allocated from the same memory pool? Or are tmp pages allocated from a special memory pool that isn't meant to be compacted/optimized? If they are allocated from the same memory pool, then it seems like there's no difference between tmp pages blocking a memory range from being compacted vs. a page cache page blocking a memory range from being compacted (by not clearing writeback). But if they are not allocated from the same pool, then it seems like the page cache page blocking migration could adversely affect general system performance in a way that the tmp page doesn't? Thanks, Joanne > > Thanks, > Bernd