On (24/08/09 10:32), Alex Shi wrote: [..] > >> and we "chain" zpdesc-s to form a zspage, and make each of them point to > >> a corresponding struct page (memdesc -> *page), then it'll resemble current > >> zsmalloc and should work for everyone? I also assume for zspdesc-s zsmalloc > >> will need to maintain a dedicated kmem_cache? > > Right, we could do that. Each memdesc has to be a multiple of 16 bytes, > > sp we'd be doing something like allocating 32 bytes for each page. > > Is there really 32 bytes of information that we want to store for > > each page? Or could we store all of the information in (a somewhat > > larger) zspage? Assuming we allocate 3 pages per zspage, if we allocate > > an extra 64 bytes in the zspage, we've saved 32 bytes per zspage. > > Thanks for the suggestions! Yes, it's a good direction we could try after this > patchset. Alex, may I ask what exactly you will "try"?