Hello Sergey, Hope you are doing well. Really sorry for the ping. Did you get a chance to see the patch series, my questions, and thoughts? On Wed, Nov 23, 2022 at 11:53:06AM +0300, Dmitry Rokosov wrote: > Hello Sergey, > > Thank you for your quick and detailed support! Here is my two cents > below. > > On Wed, Nov 23, 2022 at 01:13:55PM +0900, Sergey Senozhatsky wrote: > > 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. > > It's a very curious situation, I would say. I'm not so familiar with US > patent law, but I suppose it should be based on some keywords and > algorithms. > > If we speak in terms of algorithm Alexey patch is different a little bit > from suggested in the patent paper. If we care about keywords, I think by > moving Alexey same page merging algorithm to zsmalloc we lose > "compressing" keyword, because zsmalloc operates with "objects" only, > doesn't matter if they are compressed or not. > > Anyway, could you please suggest who can help to understand if it's safe > to use such same page merging algorithm in the upstream or not? > Maybe we can ask Linux Foundation lawyers to help us, just a guess. > I'm sure we shouldn't decline helpful features and optimization without > complete certainty about all restrictions. -- Thank you, Dmitry