From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: John Stoffel <john@stoffel.org>,
Johannes Weiner <jweiner@redhat.com>,
Pekka Enberg <penberg@kernel.org>,
Cyclonus J <cyclonusj@gmail.com>,
Sasha Levin <levinsasha928@gmail.com>,
Christoph Hellwig <hch@infradead.org>,
David Rientjes <rientjes@google.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Konrad Wilk <konrad.wilk@oracle.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Seth Jennings <sjenning@linux.vnet.ibm.com>,
ngupta@vflare.org, Chris Mason <chris.mason@oracle.com>,
JBeulich@novell.com, Dave Hansen <dave@linux.vnet.ibm.com>,
Jonathan Corbet <corbet@lwn.net>
Subject: RE: [GIT PULL] mm: frontswap (for 3.2 window)
Date: Wed, 2 Nov 2011 12:39:49 -0700 (PDT) [thread overview]
Message-ID: <29d985a7-e140-4ef2-9f1b-6fd49c244e79@default> (raw)
In-Reply-To: <1320219877.3091.22.camel@dabdike>
> From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com]
> Subject: RE: [GIT PULL] mm: frontswap (for 3.2 window)
> Hm, straw man and ad hominem....
Let me apologize to you also for being sarcastic and
disrespectful yesterday. I'm very sorry, I really do
appreciate your time and effort, and will try to focus
on the core of your excellent feedback, rather than
write another long rant.
> > Case A) CONFIG_FRONTSWAP=n
> > Case B) CONFIG_FRONTSWAP=y and no tmem backend registers
> > Case C) CONFIG_FRONTSWAP=y and a tmem backend DOES register
>
> OK, so what I'd like to see is benchmarks for B and C. B should confirm
> your contention of no cost (which is the ideal anyway) and C quantifies
> the passive cost to users.
OK, we'll see what we can do. For B, given the natural
variance in any workload that is doing heavy swapping,
I'm not sure that I can prove anything, but I suppose
it will at least reveal if there are any horrible
glaring bugs. However, in turn, I'd ask you to at
least confirm by code examination that, not counting
swapon and swapoff, the only change to the swapping
path is comparing a function pointer in struct
frontswap_ops against NULL. (And, for case B, it
is NULL, so no function call ever occurs.) OK?
For C, understood, benchmarks for zcache needed.
> Well, OK, so there's a performance issue in some workloads what the
> above is basically asking is how bad is it and how widespread?
Just to clarify, the performance issue observed is
with cleancache with zcache, not frontswap. That issue
has been observed on high-throughput old-single-core-CPU
machines, see https://lkml.org/lkml/2011/8/29/225
That issue is because cleancache (like the pagecache)
has to speculate on what pages might be needed in
the future.
Frontswap with zcache ONLY compresses pages that would
otherwise be physically swapped to a swap device.
So I don't see a performance issue with frontswap.
(But, yes, will still provide some benchmarks.)
> What I said was "one of the signs of a
> good ABI is generic applicability". That doesn't mean you have to apply
> an ABI to every situation by coming up with a demonstration for the use
> case. It does mean that people should know how to do it. I'm not
> particularly interested in the hypervisor wars, but it does seem to me
> that there are legitimate questions about the applicability of this to
> KVM.
The guest->host ABI does work with KVM, and is in Sasha's
git tree. It is a very simple shim, very similar to what
Xen uses, and will feed the same "opportunities" for swapping
to host memory for KVM as for Xen.
The arguments regarding KVM are whether, when the ABI is
used, if there is a sufficient performance gain, because
each page requires a (costly vmexit/vmenter sequence).
It seems obvious to me, but I've done what I can to
facilitate Sasha's and Neo's tmem-on-KVM work... their
code is just not finished yet. As I've discussed with
Andrea, the ABI is very extensible so if it makes a huge
difference to add "batching" for KVM, the ABI won't get
in the way.
> As I said above, just benchmark it for B and C. As long as nothing nasty
> is happening, I'm fine with it.
>
> > So... understanding your preference for more workloads and your
> > preference that KVM should be demonstrated as a profitable user
> > first... is there anything else that you think should stand
> > in the way of merging frontswap so that existing and planned
> > kernel developers can build on top of it in-tree?
>
> No, I think that's my list. The confusion over a KVM interface is
> solely because you keep saying it's not a Xen only ABI ... if it were,
> I'd be fine for it living in the xen tree.
OK, thanks! But the core frontswap hooks are in routines in
mm/swapfile.c and mm/page_io.c so can't live in the xen tree.
And the Xen-specific stuff already does.
Sorry, getting long-winded again, but at least not ranting :-}
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-11-02 19:40 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-27 18:52 [GIT PULL] mm: frontswap (for 3.2 window) Dan Magenheimer
[not found] ` <alpine.DEB.2.00.1110271318220.7639@chino.kir.corp.google.com20111027211157.GA1199@infradead.org>
2011-10-27 19:30 ` Kurt Hackel
2011-10-27 20:18 ` David Rientjes
2011-10-27 21:11 ` Christoph Hellwig
2011-10-27 21:49 ` Dan Magenheimer
2011-10-27 21:52 ` Christoph Hellwig
2011-10-27 22:21 ` Dan Magenheimer
2011-10-28 7:12 ` Sasha Levin
[not found] ` <CAOzbF4fnD=CGR-nizZoBxmFSuAjFC3uAHf3wDj5RLneJvJhrOQ@mail.gmail.comCAOJsxLGOTw7rtFnqeHvzFxifA0QgPVDHZzrEo=-uB2Gkrvp=JQ@mail.gmail.com>
[not found] ` <552d2067-474d-4aef-a9a4-89e5fd8ef84f@default20111031181651.GF3466@redhat.com>
[not found] ` <60592afd-97aa-4eaf-b86b-f6695d31c7f1@default20111031223717.GI3466@redhat.com>
[not found] ` <1b2e4f74-7058-4712-85a7-84198723e3ee@default20111101012017.GJ3466@redhat.com>
[not found] ` <6a9db6d9-6f13-4855-b026-ba668c29ddfa@default20111101180702.GL3466@redhat.com>
[not found] ` <b8a0ca71-a31b-488a-9a92-2502d4a6e9bf@default20111102013122.GA18879@redhat.com>
2011-10-28 7:30 ` Cyclonus J
2011-10-28 14:26 ` Pekka Enberg
2011-10-28 15:21 ` Dan Magenheimer
[not found] ` <CAOJsxLEE-qf9me1SAZLFiEVhHVnDh7BDrSx1+abe9R4mfkhD=g@mail.gmail.com20111028163053.GC1319@redhat.com>
2011-10-28 15:36 ` Pekka Enberg
2011-10-28 16:30 ` Johannes Weiner
2011-10-28 17:01 ` Pekka Enberg
2011-10-28 17:07 ` Dan Magenheimer
2011-10-28 18:28 ` John Stoffel
2011-10-28 20:19 ` Dan Magenheimer
2011-10-28 20:52 ` John Stoffel
2011-10-30 19:18 ` Dan Magenheimer
2011-10-30 20:06 ` Dave Hansen
2011-10-30 21:50 ` Dan Magenheimer
2011-11-02 19:45 ` Rik van Riel
2011-11-02 20:45 ` Dan Magenheimer
2011-11-06 22:32 ` Valdis.Kletnieks
2011-11-08 12:15 ` Ed Tomlinson
2011-10-31 8:12 ` James Bottomley
2011-10-31 15:39 ` Dan Magenheimer
2011-11-01 10:13 ` James Bottomley
2011-11-01 18:10 ` Dan Magenheimer
2011-11-01 18:48 ` Dave Hansen
2011-11-01 21:32 ` Dan Magenheimer
2011-11-02 7:44 ` James Bottomley
2011-11-02 19:39 ` Dan Magenheimer [this message]
2011-10-31 18:44 ` Andrea Arcangeli
2011-10-30 21:47 ` Johannes Weiner
2011-10-30 23:19 ` Dan Magenheimer
2011-10-31 18:34 ` Andrea Arcangeli
2011-10-31 21:45 ` Dan Magenheimer
2011-10-28 16:37 ` Dan Magenheimer
2011-10-28 16:59 ` Pekka Enberg
2011-10-28 17:20 ` Dan Magenheimer
2011-10-31 18:16 ` Andrea Arcangeli
2011-10-31 20:58 ` Dan Magenheimer
2011-10-31 22:37 ` Andrea Arcangeli
2011-10-31 23:36 ` Dan Magenheimer
2011-11-01 1:20 ` Andrea Arcangeli
2011-11-01 16:41 ` Dan Magenheimer
2011-11-01 18:07 ` Andrea Arcangeli
2011-11-01 21:00 ` Dan Magenheimer
2011-11-02 1:31 ` Andrea Arcangeli
2011-11-02 19:06 ` Dan Magenheimer
2011-11-03 0:32 ` Andrea Arcangeli
2011-11-03 22:29 ` Dan Magenheimer
2011-11-02 20:51 ` Rik van Riel
2011-11-02 21:14 ` Dan Magenheimer
2011-11-15 16:29 ` Rik van Riel
2011-11-15 17:33 ` Jeremy Fitzhardinge
2011-11-16 14:49 ` Konrad Rzeszutek Wilk
2011-11-01 10:16 ` James Bottomley
2011-11-01 18:21 ` Dan Magenheimer
2011-11-02 8:14 ` James Bottomley
2011-11-02 20:08 ` Dan Magenheimer
2011-11-03 10:30 ` Theodore Tso
2011-11-03 14:59 ` Dan Magenheimer
2011-11-02 15:44 ` Avi Kivity
2011-11-02 16:02 ` Andrea Arcangeli
2011-11-02 16:13 ` Avi Kivity
2011-11-02 20:27 ` Dan Magenheimer
2011-11-02 20:19 ` Dan Magenheimer
2011-10-27 21:44 ` Avi Miller
2011-10-27 22:33 ` Brian King
2011-10-28 5:17 ` Nitin Gupta
2011-10-29 13:43 ` Ed Tomlinson
2011-10-31 8:13 ` KAMEZAWA Hiroyuki
2011-10-31 16:38 ` Dan Magenheimer
2011-11-01 0:50 ` KAMEZAWA Hiroyuki
2011-11-01 15:25 ` Dan Magenheimer
2011-11-01 21:43 ` Andrew Morton
2011-11-01 22:25 ` Dan Magenheimer
2011-11-02 21:03 ` Rik van Riel
2011-11-02 21:42 ` Dan Magenheimer
2011-11-02 1:14 ` KAMEZAWA Hiroyuki
2011-11-02 15:12 ` Dan Magenheimer
2011-11-04 4:19 ` KAMEZAWA Hiroyuki
2011-11-03 16:49 ` Jan Beulich
2011-11-04 0:54 ` Andrew Morton
2011-11-04 8:49 ` Jan Beulich
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=29d985a7-e140-4ef2-9f1b-6fd49c244e79@default \
--to=dan.magenheimer@oracle.com \
--cc=JBeulich@novell.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=corbet@lwn.net \
--cc=cyclonusj@gmail.com \
--cc=dave@linux.vnet.ibm.com \
--cc=hch@infradead.org \
--cc=jeremy@goop.org \
--cc=john@stoffel.org \
--cc=jweiner@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ngupta@vflare.org \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
--cc=sjenning@linux.vnet.ibm.com \
--cc=torvalds@linux-foundation.org \
/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).