On (22/11/22 12:14), Aleksey Romanov wrote: > > IIRC that was patent in question: > > > > https://patentimages.storage.googleapis.com/e2/66/9e/0ddbfae5c182ac/US9977598.pdf > > I think the patent is talking about "mapping the virtual address" (like > in KSM). But zram works with the "handle" abstraction, which is a boxed > pointer to the required object. I think my implementation and the patent > is slightly different. > > Also, the patent speaks of "compressing" pages. In this case, we can add > zs_merge() function (like zs_compact()), that is, remove the merge logic > at the allocator level. zsmalloc doesn't say anything about what objects > it can work with. Implementation at the zsmalloc level is possible, > though more complicated that at the zram level. > > I believe that we can implement at least one of the options I proposed. > > What do you think? Oh, yeah, I'm not saying that we cannot have something like that in zram/zsmalloc, just wanted to give some historical retrospective on this and point at some implementation details that should be considered.