Re: zsmalloc defrag (Was: [PATCH] mm: remove compressed copy fromzram in-memory)

From: Seth Jennings
Date: Tue Apr 09 2013 - 16:52:53 EST


On 04/08/2013 08:36 PM, Minchan Kim wrote:
> On Tue, Apr 09, 2013 at 10:27:19AM +0900, Minchan Kim wrote:
>> Hi Dan,
>>
>> On Mon, Apr 08, 2013 at 09:32:38AM -0700, Dan Magenheimer wrote:
>>>> From: Minchan Kim [mailto:minchan@xxxxxxxxxx]
>>>> Sent: Monday, April 08, 2013 12:01 AM
>>>> Subject: [PATCH] mm: remove compressed copy from zram in-memory
>>>
>>> (patch removed)
>>>
>>>> Fragment ratio is almost same but memory consumption and compile time
>>>> is better. I am working to add defragment function of zsmalloc.
>>>
>>> Hi Minchan --
>>>
>>> I would be very interested in your design thoughts on
>>> how you plan to add defragmentation for zsmalloc. In
>>
>> What I can say now about is only just a word "Compaction".
>> As you know, zsmalloc has a transparent handle so we can do whatever
>> under user. Of course, there is a tradeoff between performance
>> and memory efficiency. I'm biased to latter for embedded usecase.
>>
>> And I might post it because as you know well, zsmalloc
>
> Incomplete sentense,
>
> I might not post it until promoting zsmalloc because as you know well,
> zsmalloc/zram's all new stuffs are blocked into staging tree.
> Even if we could add it into staging, as you know well, staging is where
> every mm guys ignore so we end up needing another round to promote it. sigh.

Yes. The lack of compaction/defragmentation support in zsmalloc has not
been raised as an obstacle to mainline acceptance so I think we should
wait to add new features to a yet-to-be accepted codebase.

Also, I think this feature is more important to zram than it is to
zswap/zcache as they can do writeback to free zpages. In other words,
the fragmentation is a transient issue for zswap/zcache since writeback
to the swap device is possible.

Thanks,
Seth

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/