On Thu, Feb 22, 2024 at 11:02 AM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote: > > On Fri, Feb 02, 2024 at 02:29:40PM +0000, Matthew Wilcox wrote: > > So my modest proposal is that we completely rearchitect how we handle > > swap. Instead of putting swp entries in the page tables (and in shmem's > > case in the page cache), we turn swap into an (object, offset) lookup > > (just like a filesystem). That means that each anon_vma becomes its > > own swap object and each shmem inode becomes its own swap object. > > The swap system can then borrow techniques from whichever filesystem > > it likes to do (object, offset, length) -> n x (device, block) mappings. > > What happened to Yosry or Chris's last year's pony [0]? In order to try > to take a stab at this we started with adding large folios to tmpfs, > which Daniel Gomez has taken on, as its a simple filesystem and with > large folios can enable us to easily test large folio swap support too. > Daniel first tried fixing lseek issue with huge pages [1] and on top of > that he has patches (a new RFC not posted yet) which do add large folios > support to tmpfs. Hugh has noted the lskeek changes are incorrect and > suggested instead a fix for the failed tests in fstests. If we get > agreement on Hugh's approach then we have a step forward with tmpfs and > later we hope this will make it easier to test swap changes. Ah, just notice this. I have some pending ideas on how to address that, I might be the one that brings up this topic in the discussion David was referring to. Will reply in his email of this thread. ==== quote ====== On Fri, Feb 2, 2024 at 1:10 AM David Howells <dhowells@xxxxxxxxxx> wrote: > > Hi, > > The topic came up in a recent discussion about how to deal with large folios > when it comes to swap as a swap device is normally considered a simple array > of PAGE_SIZE-sized elements that can be indexed by a single integer. > ==== end quote ==== > > Its probably then a good time to ask, do we have a list of tests for > swap to ensure we don't break things if we add large folio support? > We can at least start with a good baseline of tests for that. That is a very good idea to start with the test. We need all the help we can get on the testing side. I know Huge has his own test setup for stressing the swap systems. Yes, more tests are always better. Chris > > [0] https://lwn.net/Articles/932077/ > [1] https://lkml.kernel.org/r/20240209142901.126894-1-da.gomez@xxxxxxxxxxx > > Luis >