From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Minchan Kim <minchan@kernel.org>, Nitin Gupta <ngupta@vflare.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Konrad Wilk <konrad.wilk@oracle.com>,
Seth Jennings <sjenning@linux.vnet.ibm.com>
Subject: RE: [PATCH 2/2] zram: clean up handle
Date: Thu, 7 Jun 2012 13:47:40 -0700 (PDT) [thread overview]
Message-ID: <dfc7087d-6826-4429-8063-d47d05cd2d26@default> (raw)
In-Reply-To: <4FD015FE.7070906@kernel.org>
> From: Minchan Kim [mailto:minchan@kernel.org]
> Subject: Re: [PATCH 2/2] zram: clean up handle
>
> On 06/06/2012 02:04 PM, Nitin Gupta wrote:
>
> > On 06/05/2012 12:23 AM, Minchan Kim wrote:
> >
> >> zram's handle variable can store handle of zsmalloc in case of
> >> compressing efficiently. Otherwise, it stores point of page descriptor.
> >> This patch clean up the mess by union struct.
> >>
> >> changelog
> >> * from v1
> >> - none(new add in v2)
> >>
> >> Cc: Nitin Gupta <ngupta@vflare.org>
> >> Acked-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
> >> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >> Signed-off-by: Minchan Kim <minchan@kernel.org>
> >> ---
> >> drivers/staging/zram/zram_drv.c | 77 ++++++++++++++++++++-------------------
> >> drivers/staging/zram/zram_drv.h | 5 ++-
> >> 2 files changed, 44 insertions(+), 38 deletions(-)
> >
> > I think page vs handle distinction was added since xvmalloc could not
> > handle full page allocation. Now that zsmalloc allows full page
>
> I see. I didn't know that because I'm blind on xvmalloc.
>
> > allocation, we can just use it for both cases. This would also allow
> > removing the ZRAM_UNCOMPRESSED flag. The only downside will be slightly
> > slower code path for full page allocation but this event is anyways
> > supposed to be rare, so should be fine.
>
> Fair enough.
> It can remove many code of zram.
> Okay. Will look into that.
Nitin, can zsmalloc allow full page allocation by assigning
an actual physical pageframe (which is what zram does now)?
Or will it allocate PAGE_SIZE bytes which zsmalloc will allocate
crossing a page boundary which, presumably, will have much worse
impact on page allocator availability when these pages are
"reclaimed" via your swap notify callback.
Though this may be rare across all workloads, it may turn out
to be very common for certain workloads (e.g. if the workload
has many dirty anonymous pages that are already compressed
by userland).
It may not be worth cleaning up the code if it causes
performance issues with this case.
And anyway can zsmalloc handle and identify to the caller pages
that are both compressed and "native" (uncompressed)? It
certainly has to handle both if you remove ZRAM_UNCOMPRESSED
as compressing some pages actually results in more than
PAGE_SIZE bytes. So you need to record somewhere that
this "compressed page" is special and that must somehow
be communicated to the caller of your "get" routine.
(Just trying to save Minchan from removing all that code but
then needing to add it back again.)
Dan
--
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:[~2012-06-07 20:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-05 7:23 [PATCH 1/2] zsmalloc: zsmalloc: use unsigned long instead of void * Minchan Kim
2012-06-05 7:23 ` [PATCH 2/2] zram: clean up handle Minchan Kim
2012-06-06 5:04 ` Nitin Gupta
2012-06-07 2:46 ` Minchan Kim
2012-06-07 20:47 ` Dan Magenheimer [this message]
2012-06-07 21:16 ` Nitin Gupta
2012-06-07 21:20 ` Dan Magenheimer
2012-06-06 4:00 ` [PATCH 1/2] zsmalloc: zsmalloc: use unsigned long instead of void * Nitin Gupta
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=dfc7087d-6826-4429-8063-d47d05cd2d26@default \
--to=dan.magenheimer@oracle.com \
--cc=gregkh@linuxfoundation.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
--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