On 3/12/24 11:40 AM, Matthew Wilcox wrote: > Hi Jens, > > I'm looking for an architecture-level decision on what the brd driver > should look like once struct page has been shrunk to a minimal size > (more detail at https://kernelnewbies.org/MatthewWilcox/Memdescs ) > > 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). > > brd doesn't use anything else from struct page, as far as I can tell. > It just calls kmap_atomic() / __free_page() / flush_dcache_page() (and > it doesn't need to call flush_dcache_page() because you can't mmap the > pages in the brd's array). > > Now if you have plans to, eg, support page migration, you're going to need > a bit more infrastructure than just allocating pages, but for what you > have at the moment, just removing the debugging checks that page->index == > idx would make you entirely compatible with the memdesc future. > > Any problem with that? As far as I can recall, I haven't seen that debugging trigger anything in forever. So fine to kill it, imho. -- Jens Axboe