From: Seth Jennings <sjenning@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
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: Wed, 13 Feb 2013 10:00:39 -0600 [thread overview]
Message-ID: <511BB8A7.9040305@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130129145134.813672cf.akpm@linux-foundation.org>
On 01/29/2013 04:51 PM, Andrew Morton wrote:
> 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.
I know you just said "don't answer", but I wanted to say why certain
points aren't included in the new patchset I'm about to post later today.
>
> - kmap_atomic() returns a void* - there's no need to cast its return value.
In places where we do pointer arithmetic, we do the cast to avoid
incrementing a void *, which is acceptable for gcc, but not everyone.
>
> - Remove private MAX(), use the (much better implemented) max().
We can't use max() or max_t() because ZS_SIZE_CLASSES, which uses
ZS_MIN_ALLOC_SIZE, is used to define and array size in struct zs_pool.
So the expression must be able to be fully evaluated by the precompiler.
>
> - It says "This was one of the major issues with its predecessor
> (xvmalloc)", but drivers/staging/ramster/xvmalloc.c is still in the tree.
Yes, this was a little mess. I think you'll find that isn't the case
anymore. Dan has removed those files from zcache/ramster.
>
> - USE_PGTABLE_MAPPING should be done via Kconfig.
Minchan did this work and will be included in the next version of the
patchset.
I've added more documentation/comments in the new patchset. Hopefully,
it will help with understanding the more complicated parts of the code.
Thanks,
Seth
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Seth Jennings <sjenning@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
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: Wed, 13 Feb 2013 10:00:39 -0600 [thread overview]
Message-ID: <511BB8A7.9040305@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130129145134.813672cf.akpm@linux-foundation.org>
On 01/29/2013 04:51 PM, Andrew Morton wrote:
> 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.
I know you just said "don't answer", but I wanted to say why certain
points aren't included in the new patchset I'm about to post later today.
>
> - kmap_atomic() returns a void* - there's no need to cast its return value.
In places where we do pointer arithmetic, we do the cast to avoid
incrementing a void *, which is acceptable for gcc, but not everyone.
>
> - Remove private MAX(), use the (much better implemented) max().
We can't use max() or max_t() because ZS_SIZE_CLASSES, which uses
ZS_MIN_ALLOC_SIZE, is used to define and array size in struct zs_pool.
So the expression must be able to be fully evaluated by the precompiler.
>
> - It says "This was one of the major issues with its predecessor
> (xvmalloc)", but drivers/staging/ramster/xvmalloc.c is still in the tree.
Yes, this was a little mess. I think you'll find that isn't the case
anymore. Dan has removed those files from zcache/ramster.
>
> - USE_PGTABLE_MAPPING should be done via Kconfig.
Minchan did this work and will be included in the next version of the
patchset.
I've added more documentation/comments in the new patchset. Hopefully,
it will help with understanding the more complicated parts of the code.
Thanks,
Seth
next prev parent reply other threads:[~2013-02-13 16:03 UTC|newest]
Thread overview: 68+ 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 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 1/7] debugfs: add get/set for atomic types Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 2/7] zsmalloc: promote to lib/ Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-29 22:51 ` Andrew Morton
2013-01-29 22:51 ` Andrew Morton
2013-01-30 16:28 ` Seth Jennings
2013-01-30 16:28 ` Seth Jennings
2013-01-30 23:34 ` Andrew Morton
2013-01-30 23:34 ` Andrew Morton
2013-01-31 5:35 ` Minchan Kim
2013-01-31 5:35 ` Minchan Kim
2013-02-13 16:00 ` Seth Jennings [this message]
2013-02-13 16:00 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 3/7] zswap: add to mm/ Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-31 7:07 ` Minchan Kim
2013-01-31 7:07 ` Minchan Kim
2013-01-31 19:06 ` Seth Jennings
2013-01-31 19:06 ` Seth Jennings
2013-01-31 20:07 ` Robert Jennings
2013-01-31 20:07 ` Robert Jennings
2013-02-01 2:38 ` Minchan Kim
2013-02-01 2:38 ` Minchan Kim
2013-02-01 15:31 ` Seth Jennings
2013-02-01 15:31 ` Seth Jennings
2013-02-01 17:46 ` 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 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 5/7] mm: allow for outstanding swap writeback accounting Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 6/7] zswap: add flushing support Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-29 23:03 ` Andrew Morton
2013-01-29 23:03 ` Andrew Morton
2013-02-01 7:27 ` Minchan Kim
2013-02-01 7:27 ` Minchan Kim
2013-02-13 6:24 ` Seth Jennings
2013-02-13 6:24 ` Seth Jennings
2013-01-29 21:40 ` [PATCHv4 7/7] zswap: add documentation Seth Jennings
2013-01-29 21:40 ` Seth Jennings
2013-01-29 23:07 ` Andrew Morton
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:14 ` Joe Perches
2013-01-29 22:49 ` Seth Jennings
2013-01-29 22:49 ` Seth Jennings
2013-01-30 4:32 ` Minchan Kim
2013-01-30 4:32 ` Minchan Kim
2013-01-30 16:01 ` Seth Jennings
2013-01-30 16:01 ` Seth Jennings
2013-02-01 1:39 ` Simon Jeons
2013-02-01 1:39 ` Simon Jeons
2013-02-01 15:13 ` Seth Jennings
2013-02-01 15:13 ` Seth Jennings
2013-02-03 0:17 ` Simon Jeons
2013-02-03 0:17 ` Simon Jeons
2013-02-04 14:56 ` Seth Jennings
2013-02-04 14:56 ` Seth Jennings
2013-02-04 1:03 ` Simon Jeons
2013-02-04 1:03 ` Simon Jeons
2013-02-04 15:07 ` Seth Jennings
2013-02-04 15:07 ` Seth Jennings
[not found] ` <5110287A.5050200@linux.vnet.ibm.com>
2013-02-04 21:45 ` Seth Jennings
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=511BB8A7.9040305@linux.vnet.ibm.com \
--to=sjenning@linux.vnet.ibm.com \
--cc=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 \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.