From: Seth Jennings <sjenning@linux.vnet.ibm.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: Nitin Gupta <ngupta@vflare.org>, Greg KH <greg@kroah.com>,
gregkh@suse.de, devel@driverdev.osuosl.org,
cascardo@holoscopio.com, linux-kernel@vger.kernel.org,
dave@linux.vnet.ibm.com, linux-mm@kvack.org,
brking@linux.vnet.ibm.com, rcj@linux.vnet.ibm.com
Subject: Re: [PATCH v2 0/3] staging: zcache: xcfmalloc support
Date: Thu, 15 Sep 2011 14:24:57 -0500 [thread overview]
Message-ID: <4E725109.3010609@linux.vnet.ibm.com> (raw)
In-Reply-To: <075c4e4c-a22d-47d1-ae98-31839df6e722@default>
On 09/15/2011 12:29 PM, Dan Magenheimer wrote:
>> From: Seth Jennings [mailto:sjenning@linux.vnet.ibm.com]
>> Subject: Re: [PATCH v2 0/3] staging: zcache: xcfmalloc support
>>
>> Hey Nitin,
>>
>> So this is how I see things...
>>
>> Right now xvmalloc is broken for zcache's application because
>> of its huge fragmentation for half the valid allocation sizes
>> (> PAGE_SIZE/2).
>
> Um, I have to disagree here. It is broken for zcache for
> SOME set of workloads/data, where the AVERAGE compression
> is poor (> PAGE_SIZE/2).
>
True.
But are we not in agreement that xvmalloc needs to be replaced
with an allocator that doesn't have this issue? I thought we all
agreed on that...
>> My xcfmalloc patches are _a_ solution that is ready now. Sure,
>> it doesn't so compaction yet, and it has some metadata overhead.
>> So it's not "ideal" (if there is such I thing). But it does fix
>> the brokenness of xvmalloc for zcache's application.
>
> But at what cost? As Dave Hansen pointed out, we still do
> not have a comprehensive worst-case performance analysis for
> xcfmalloc. Without that (and without an analysis over a very
> large set of workloads), it is difficult to characterize
> one as "better" than the other.
>
I'm not sure what you mean by "comprehensive worst-case performance
analysis". If you're talking about theoretical worst-case runtimes
(i.e. O(whatever)) then apparently we are going to have to
talk to an authority on algorithm analysis because we can't agree
how to determine that. However, it isn't difficult to look at the
code and (within your own understanding) see what it is.
I'd be interested so see what Nitin thinks is the worst-case runtime
bound.
How would you suggest that I measure xcfmalloc performance on a "very
large set of workloads". I guess another form of that question is: How
did xvmalloc do this?
>> So I see two ways going forward:
>>
>> 1) We review and integrate xcfmalloc now. Then, when you are
>> done with your allocator, we can run them side by side and see
>> which is better by numbers. If yours is better, you'll get no
>> argument from me and we can replace xcfmalloc with yours.
>>
>> 2) We can agree on a date (sooner rather than later) by which your
>> allocator will be completed. At that time we can compare them and
>> integrate the best one by the numbers.
>>
>> Which would you like to do?
>
> Seth, I am still not clear why it is not possible to support
> either allocation algorithm, selectable at runtime. Or even
> dynamically... use xvmalloc to store well-compressible pages
> and xcfmalloc for poorly-compressible pages. I understand
> it might require some additional coding, perhaps even an
> ugly hack or two, but it seems possible.
But why do an ugly hack if we can just use a single allocator
that has the best overall performance for the allocation range
the zcache requires. Why make it more complicated that it
needs to be?
>
> 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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-09-15 19:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-07 14:09 Seth Jennings
2011-09-07 14:09 ` [PATCH v2 1/3] staging: zcache: xcfmalloc memory allocator for zcache Seth Jennings
2011-09-07 14:09 ` [PATCH v2 2/3] staging: zcache: replace xvmalloc with xcfmalloc Seth Jennings
2011-09-07 14:09 ` [PATCH v2 3/3] staging: zcache: add zv_page_count and zv_desc_count Seth Jennings
2011-09-09 20:34 ` [PATCH v2 0/3] staging: zcache: xcfmalloc support Greg KH
2011-09-10 2:41 ` Nitin Gupta
2011-09-12 14:35 ` Seth Jennings
2011-09-13 1:55 ` Nitin Gupta
2011-09-13 15:58 ` Seth Jennings
2011-09-13 21:18 ` Nitin Gupta
2011-09-15 16:31 ` Seth Jennings
2011-09-15 17:29 ` Dan Magenheimer
2011-09-15 19:24 ` Seth Jennings [this message]
2011-09-15 20:07 ` Dan Magenheimer
2011-10-03 15:59 ` Dave Hansen
2011-10-03 17:54 ` Nitin Gupta
2011-10-03 18:22 ` Dave Hansen
2011-10-05 1:03 ` Dan Magenheimer
2011-09-15 22:17 ` Dave Hansen
2011-09-15 22:27 ` Dan Magenheimer
2011-09-16 17:36 ` Nitin Gupta
2011-09-16 17:52 ` Nitin Gupta
2011-09-16 17:46 ` Nitin Gupta
2011-09-16 18:33 ` Seth Jennings
2011-11-01 17:30 ` Dave Hansen
2011-11-01 18:35 ` Dan Magenheimer
2011-11-02 2:42 ` Nitin Gupta
2011-09-29 17:47 ` 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=4E725109.3010609@linux.vnet.ibm.com \
--to=sjenning@linux.vnet.ibm.com \
--cc=brking@linux.vnet.ibm.com \
--cc=cascardo@holoscopio.com \
--cc=dan.magenheimer@oracle.com \
--cc=dave@linux.vnet.ibm.com \
--cc=devel@driverdev.osuosl.org \
--cc=greg@kroah.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ngupta@vflare.org \
--cc=rcj@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