From: Andrew Morton <akpm@linux-foundation.org>
To: Seth Jennings <sjenning@linux.vnet.ibm.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Nitin Gupta <ngupta@vflare.org>, Minchan Kim <minchan@kernel.org>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Dan Magenheimer <dan.magenheimer@oracle.com>,
Robert Jennings <rcj@linux.vnet.ibm.com>,
Jenifer Hopper <jhopper@us.ibm.com>, Mel Gorman <mgorman@suse.de>,
Johannes Weiner <jweiner@redhat.com>,
Rik van Riel <riel@redhat.com>,
Larry Woodman <lwoodman@redhat.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Dave Hansen <dave@linux.vnet.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
devel@driverdev.osuosl.org
Subject: Re: [PATCHv4 2/7] zsmalloc: promote to lib/
Date: Tue, 29 Jan 2013 14:51:34 -0800 [thread overview]
Message-ID: <20130129145134.813672cf.akpm@linux-foundation.org> (raw)
In-Reply-To: <1359495627-30285-3-git-send-email-sjenning@linux.vnet.ibm.com>
On Tue, 29 Jan 2013 15:40:22 -0600
Seth Jennings <sjenning@linux.vnet.ibm.com> wrote:
> This patch promotes the slab-based zsmalloc memory allocator
> from the staging tree to lib/
Hate to rain on the parade, but... we haven't reviewed zsmalloc
yet. At least, I haven't, and I haven't seen others do so.
So how's about we forget that zsmalloc was previously in staging and
send the zsmalloc code out for review? With a very good changelog
explaining why it exists, what problems it solves, etc.
I peeked.
Don't answer any of the below questions - they are examples of
concepts which should be accessible to readers of the
hopefully-forthcoming very-good-changelog.
- kmap_atomic() returns a void* - there's no need to cast its return value.
- Remove private MAX(), use the (much better implemented) max().
- It says "This was one of the major issues with its predecessor
(xvmalloc)", but drivers/staging/ramster/xvmalloc.c is still in the tree.
- USE_PGTABLE_MAPPING should be done via Kconfig.
- USE_PGTABLE_MAPPING is interesting and the changelog should go into
some details. What are the pros and cons here? Why do the two
options exist? Can we eliminate one mode or the other?
- Various functions are obscure and would benefit from explanatory
comments. Good comments explain "why it exists", more than "what it
does".
These include get_size_class_index, get_fullness_group,
insert_zspage, remove_zspage, fix_fullness_group.
Also a description of this handle encoding thing - what do these
"handles" refer to? Why is stuff being encoded into them and how?
- I don't understand how the whole thing works :( If I allocate a
16 kbyte object with zs_malloc(), what do I get? 16k of
contiguous memory? How can it do that if
USE_PGTABLE_MAPPING=false? Obviously it can't so it's doing
something else. But what?
- What does zs_create_pool() do and how do I use it? It appears
to create a pool of all possible object sizes. But why do we need
more than one such pool kernel-wide?
- I tried to work out the actual value of ZS_SIZE_CLASSES but it
made my head spin.
- We really really don't want to merge zsmalloc! It would be far
better to use an existing allocator (perhaps after modifying it)
than to add yet another new one. The really-good-changelog should
be compelling on this point, please.
See, I (and I assume others) are totally on first base here and we need
to get through this before we can get onto zswap. Sorry.
drivers/staging is where code goes to be ignored :(
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-01-29 22:51 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 21:40 [PATCHv4 0/7] zswap: compressed swap caching Seth Jennings
2013-01-29 21:40 ` [PATCHv4 1/7] debugfs: add get/set for atomic types Seth Jennings
2013-01-29 21:40 ` [PATCHv4 2/7] zsmalloc: promote to lib/ Seth Jennings
2013-01-29 22:51 ` Andrew Morton [this message]
2013-01-30 16:28 ` Seth Jennings
2013-01-30 23:34 ` Andrew Morton
2013-01-31 5:35 ` Minchan Kim
2013-02-13 16:00 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 3/7] zswap: add to mm/ Seth Jennings
2013-01-31 7:07 ` Minchan Kim
2013-01-31 19:06 ` Seth Jennings
2013-01-31 20:07 ` Robert Jennings
2013-02-01 2:38 ` Minchan Kim
2013-02-01 15:31 ` Seth Jennings
2013-02-01 17:46 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 4/7] mm: break up swap_writepage() for frontswap backends Seth Jennings
2013-01-29 21:40 ` [PATCHv4 5/7] mm: allow for outstanding swap writeback accounting Seth Jennings
2013-01-29 21:40 ` [PATCHv4 6/7] zswap: add flushing support Seth Jennings
2013-01-29 23:03 ` Andrew Morton
2013-02-01 7:27 ` Minchan Kim
2013-02-13 6:24 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 7/7] zswap: add documentation Seth Jennings
2013-01-29 23:07 ` Andrew Morton
2013-01-29 22:14 ` [PATCHv4 0/7] zswap: compressed swap caching Joe Perches
2013-01-29 22:49 ` Seth Jennings
2013-01-30 4:32 ` Minchan Kim
2013-01-30 16:01 ` Seth Jennings
2013-02-01 1:39 ` Simon Jeons
2013-02-01 15:13 ` Seth Jennings
2013-02-03 0:17 ` Simon Jeons
2013-02-04 14:56 ` Seth Jennings
2013-02-04 1:03 ` Simon Jeons
2013-02-04 15:07 ` Seth Jennings
[not found] ` <5110287A.5050200@linux.vnet.ibm.com>
2013-02-04 21:45 ` Seth Jennings
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130129145134.813672cf.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=dan.magenheimer@oracle.com \
--cc=dave@linux.vnet.ibm.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=jhopper@us.ibm.com \
--cc=jweiner@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=mgorman@suse.de \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
--cc=rcj@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=sjenning@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).