On Tue, May 27, 2014 at 12:32 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > On Tue, May 27, 2014 at 12:19:16AM +0400, Konstantin Khlebnikov wrote: >> On Mon, May 26, 2014 at 6:56 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: >> > Hi all, >> > >> > I mentioned at LSF/MM that I wanted to revive this, and at the time there were >> > no disagreements. >> > >> > I finally got around to refreshing the patch(es) so here goes. >> > >> > These patches introduce VM_PINNED infrastructure, vma tracking of persistent >> > 'pinned' page ranges. Pinned is anything that has a fixed phys address (as >> > required for say IO DMA engines) and thus cannot use the weaker VM_LOCKED. One >> > popular way to pin pages is through get_user_pages() but that not nessecarily >> > the only way. >> >> Lol, this looks like resurrection of VM_RESERVED which I've removed >> not so long time ago. That was swap-out prevention from 2.4 era, something between VM_IO and VM_LOCKED with various side effects. > > Not sure what VM_RESERVED did, but there might be a similarity. > >> Maybe single-bit state isn't flexible enought? > > Not sure what you mean, the one bit is perfectly fine for what I want it > to do. > >> This supposed to supports pinning only by one user and only in its own mm? > > Pretty much, that's adequate for all users I'm aware of and mirrors the > mlock semantics. Ok, fine. Because get_user_pages is used sometimes for pinning pages from different mm. Another suggestion. VM_RESERVED is stronger than VM_LOCKED and extends its functionality. Maybe it's easier to add VM_DONTMIGRATE and use it together with VM_LOCKED. This will make accounting easier. No? > >> This might be done as extension of existing memory-policy engine. >> It allows to keep vm_area_struct slim in normal cases and change >> behaviour when needed. >> memory-policy might hold reference-counter of "pinners", track >> ownership and so on. > > That all sounds like raping the mempolicy code and massive over > engineering. > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>