[Lsf-pc] [LSF/MM/BPF TOPIC] Per-process page size
Askar Safin
safinaskar at gmail.com
Wed Mar 25 01:46:32 PDT 2026
Jan Kara <jack at suse.cz>:
> > Is there some other way for someone to block a page from getting evicted
> > from the pagecache?
> >
> > We have this memfd_pin_folios() thing, but I don't think we have something
> > comparable for ordinary pagecache files.
> >
> > ... putting them into a pipe and never reading from the pipe maybe (I assume
> > that's what splice() does, but not sure if it actually places the pages in
> > there or whether it creates a copy first)?
>
> Standard splice copies data first (it's using standard IO callbacks such as
> ->read_iter) so that doesn't pin page cache AFAICT. Only vmsplice(2) does
> but that requires mmap.
Splice from page cache to pipe sometimes doesn't copy data.
That is why test program mentioned here may print "new":
https://lore.kernel.org/all/CAHk-=wjixHw6n_R5TQWW1r0a+GgFAPGw21KMj6obkzr3qXXbYA@mail.gmail.com/
--
Askar Safin
More information about the linux-arm-kernel
mailing list