From: Seth Jennings <sjenning@linux.vnet.ibm.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Dan Magenheimer <dan.magenheimer@oracle.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Nitin Gupta <ngupta@vflare.org>, Minchan Kim <minchan@kernel.org>,
Robert Jennings <rcj@linux.vnet.ibm.com>,
linux-mm@kvack.org, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 0/3] zsmalloc: remove x86 dependency
Date: Mon, 25 Jun 2012 11:14:35 -0500 [thread overview]
Message-ID: <1340640878-27536-1-git-send-email-sjenning@linux.vnet.ibm.com> (raw)
This patchset continues/adapts Minchan Kim's work
to remove the x86 dependency from zsmalloc.
However, instead of whitelisting archs with support for
local_tlb_flush_kernel_range() in the zsmalloc Kconfig,
this patchset allows zsmalloc to work with all archs
through the addition of a generic/portable page
mapping methods (i.e. memcpy) when the required tlb
flushing functionality is not supported by the arch.
The arch advertises support for local_tlb_flush_kernel_range()
by defining __HAVE_LOCAL_FLUSH_TLB_KERNEL_RANGE
The third patch in the set adds local_tlb_flush_kernel_range()
support to x86. In my single-threaded tests using zcache,
using the pte/tlb mapping method was 40% faster than the generic
method. So while the third patch is optional, it is highly
recommended.
Alex Shi is working on a large x86 patchset that includes
functionality similar to the third patch, however, it seems
that this patchset is getting very little attention and
includes much more than is needed for zsmalloc's purposes.
https://lkml.org/lkml/2012/6/12/116
Future work:
- Add __HAVE_LOCAL_FLUSH_TLB_KERNEL_RANGE definition to
archs that already have local_tlb_flush_kernel_range()
- Add mapping mode flags (RO, WO, RW) to zs_map_object()
to avoid unnecessary copies in the generic case
Based on Greg's staging-next.
Seth Jennings (3):
zram/zcache: swtich Kconfig dependency from X86 to ZSMALLOC
zsmalloc: add generic path and remove x86 dependency
x86: add local_tlb_flush_kernel_range()
arch/x86/include/asm/tlbflush.h | 21 +++++
drivers/staging/zcache/Kconfig | 5 +-
drivers/staging/zram/Kconfig | 5 +-
drivers/staging/zsmalloc/Kconfig | 4 -
drivers/staging/zsmalloc/zsmalloc-main.c | 136 ++++++++++++++++++++++++------
drivers/staging/zsmalloc/zsmalloc_int.h | 5 +-
6 files changed, 138 insertions(+), 38 deletions(-)
--
1.7.9.5
--
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 reply other threads:[~2012-06-25 16:35 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-25 16:14 Seth Jennings [this message]
2012-06-25 16:14 ` [PATCH 1/3] zram/zcache: swtich Kconfig dependency from X86 to ZSMALLOC Seth Jennings
2012-06-27 2:37 ` Minchan Kim
2012-06-27 2:43 ` Greg Kroah-Hartman
2012-06-27 2:49 ` Minchan Kim
2012-06-27 3:21 ` Greg Kroah-Hartman
2012-06-27 15:40 ` Konrad Rzeszutek Wilk
2012-06-27 18:55 ` Greg Kroah-Hartman
2012-06-27 18:52 ` Konrad Rzeszutek Wilk
2012-06-27 19:29 ` Greg Kroah-Hartman
2012-06-25 16:14 ` [PATCH 2/3] zsmalloc: add generic path and remove x86 dependency Seth Jennings
2012-06-25 16:59 ` Greg Kroah-Hartman
2012-06-25 17:10 ` Seth Jennings
2012-06-25 17:19 ` Greg Kroah-Hartman
2012-06-25 18:24 ` Seth Jennings
2012-06-25 23:37 ` Greg Kroah-Hartman
2012-06-27 5:28 ` Minchan Kim
2012-06-27 19:09 ` Seth Jennings
2012-06-28 0:20 ` Minchan Kim
2012-06-25 16:14 ` [PATCH 3/3] x86: add local_tlb_flush_kernel_range() Seth Jennings
2012-06-25 23:01 ` Konrad Rzeszutek Wilk
2012-06-26 13:39 ` Seth Jennings
2012-06-27 5:53 ` Minchan Kim
2012-06-27 6:14 ` Alex Shi
2012-06-27 6:26 ` Minchan Kim
2012-06-27 15:12 ` Dan Magenheimer
2012-06-27 15:39 ` Konrad Rzeszutek Wilk
2012-06-27 18:35 ` Seth Jennings
2012-06-27 18:33 ` Seth Jennings
2012-06-27 21:15 ` Dan Magenheimer
2012-06-27 21:41 ` Seth Jennings
2012-06-28 2:03 ` Alex Shi
2012-06-28 15:21 ` Seth Jennings
2012-06-29 0:19 ` Alex Shi
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=1340640878-27536-1-git-send-email-sjenning@linux.vnet.ibm.com \
--to=sjenning@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=dan.magenheimer@oracle.com \
--cc=devel@driverdev.osuosl.org \
--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=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;
as well as URLs for NNTP newsgroup(s).