>>> Currently brd uses page->index as a debugging check. In the memdesc >>> future, struct page has no members (you could store a small amount of >>> information in it, but I'm not willing to commit to more than a few bits). >>> >> >> Shouldn't we change brd to use folios? Once we do that, this will not >> be a problem any more right? > > We certainly could change brd to use folios. But why would we want to? > Hannes' work always allocates memory of a fixed size (a fixed multiple > of PAGE_SIZE). Folios are a medium-weight data structure (probably > about 80 bytes once we get to memdescs). They support a lot of things, > eg belonging to an inode, having an index, being mappable to userspace, > being lockable, accountable to memcgs, allowing extra private data, > knowing their own size, ... > Got it! Probably moving to folios just for the sake of retaining the debugging checks is not enough. > None of those things are needed for brd's uses. All brd needs is to > be able to allocate, kmap and free chunks of memory. Unless there are > plans to do more than this. > I remember he mentioned he wanted to support bigger logical block sizes in brd, in which case moving to folios might be justified.