From: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 00/16] IB/hfi1: Add a page pinning cache for PSM sdma
Date: Tue, 08 Mar 2016 11:14:14 -0800 [thread overview]
Message-ID: <20160308191210.30542.91885.stgit@scvm10.sc.intel.com> (raw)
This patch series adds a performance improvement to user SDMA transfers from
PSM applications by caching user buffer pages after pinning them. Subsequent
uses of the same user buffer will not incur the cost of pinning the same pages
again. Additionally, the cost of unpinning the same pages is avoided. Buffer
pages are unpinned when the context is torn down or when the driver determines
that the buffer should be evicted from the cache. Cache evictions happen when
there is a request for a new, uncached buffer and the current size of the cache
has reached a pre-defined limit.
Series applies on "Adaptive PIO bug fixes..." series submitted yesterday and
should apply cleanly to Doug's GitHub hfi1 branch.
Can also be seen in my GitHub at:
https://github.com/ddalessa/kernel/tree/for-4.6.
---
Mitko Haralanov (16):
IB/hfi1: Re-factor MMU notification code
IB/hfi1: Allow MMU function execution in IRQ context
IB/hfi1: Prevent NULL pointer dereference
IB/hfi1: Allow remove MMU callbacks to free nodes
IB/hfi1: Remove the use of add/remove RB function pointers
IB/hfi1: Notify remove MMU/RB callback of calling context
IB/hfi1: Use interval RB trees
IB/hfi1: Add MMU tracing
IB/hfi1: Remove compare callback
IB/hfi1: Add filter callback
IB/hfi1: Adjust last address values for intervals
IB/hfi1: Implement SDMA-side buffer caching
IB/hfi1: Add pin query function
IB/hfi1: Specify mm when releasing pages
IB/hfi1: Switch to using the pin query function
IB/hfi1: Add SDMA cache eviction algorithm
drivers/infiniband/hw/hfi1/Makefile | 2
drivers/infiniband/hw/hfi1/file_ops.c | 1
drivers/infiniband/hw/hfi1/hfi.h | 16 +
drivers/infiniband/hw/hfi1/mmu_rb.c | 292 +++++++++++++++++++++++
drivers/infiniband/hw/hfi1/mmu_rb.h | 73 ++++++
drivers/infiniband/hw/hfi1/trace.c | 1
drivers/infiniband/hw/hfi1/trace.h | 1
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 362 ++++++++---------------------
drivers/infiniband/hw/hfi1/user_pages.c | 63 ++++-
drivers/infiniband/hw/hfi1/user_sdma.c | 319 +++++++++++++++++---------
drivers/infiniband/hw/hfi1/user_sdma.h | 4
11 files changed, 747 insertions(+), 387 deletions(-)
create mode 100644 drivers/infiniband/hw/hfi1/mmu_rb.c
create mode 100644 drivers/infiniband/hw/hfi1/mmu_rb.h
--
-Denny
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2016-03-08 19:14 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-08 19:14 Dennis Dalessandro [this message]
[not found] ` <20160308191210.30542.91885.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2016-03-08 19:14 ` [PATCH 01/16] IB/hfi1: Re-factor MMU notification code Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 02/16] IB/hfi1: Allow MMU function execution in IRQ context Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 03/16] IB/hfi1: Prevent NULL pointer dereference Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 04/16] IB/hfi1: Allow remove MMU callbacks to free nodes Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 05/16] IB/hfi1: Remove the use of add/remove RB function pointers Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 06/16] IB/hfi1: Notify remove MMU/RB callback of calling context Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 07/16] IB/hfi1: Use interval RB trees Dennis Dalessandro
2016-03-08 19:14 ` [PATCH 08/16] IB/hfi1: Add MMU tracing Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 09/16] IB/hfi1: Remove compare callback Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 10/16] IB/hfi1: Add filter callback Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 11/16] IB/hfi1: Adjust last address values for intervals Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 12/16] IB/hfi1: Implement SDMA-side buffer caching Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 13/16] IB/hfi1: Add pin query function Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 14/16] IB/hfi1: Specify mm when releasing pages Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 15/16] IB/hfi1: Switch to using the pin query function Dennis Dalessandro
2016-03-08 19:15 ` [PATCH 16/16] IB/hfi1: Add SDMA cache eviction algorithm Dennis Dalessandro
2016-03-08 20:56 ` [PATCH 00/16] IB/hfi1: Add a page pinning cache for PSM sdma Or Gerlitz
[not found] ` <CAJ3xEMj8gz6Xw1bqA677fC8=U2ktLQ6b4W20SeNrztN7u6UKZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-09 0:21 ` Dennis Dalessandro
[not found] ` <20160309002157.GA20105-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-09 5:07 ` Leon Romanovsky
[not found] ` <20160309050731.GM13396-2ukJVAZIZ/Y@public.gmane.org>
2016-03-09 19:21 ` Dennis Dalessandro
[not found] ` <20160309192109.GB15031-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-10 4:56 ` Leon Romanovsky
[not found] ` <20160310045609.GC1977-2ukJVAZIZ/Y@public.gmane.org>
2016-03-14 7:09 ` Leon Romanovsky
[not found] ` <20160314070951.GB26456-2ukJVAZIZ/Y@public.gmane.org>
2016-03-14 12:01 ` Dennis Dalessandro
[not found] ` <20160314120152.GA30838-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-14 12:27 ` Leon Romanovsky
2016-03-14 21:19 ` Or Gerlitz
[not found] ` <CAJ3xEMiSgXFT46r0Y7DZGr3mpJFSLrtYrMdz+DbCXDozbMYZRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-15 1:20 ` Dennis Dalessandro
[not found] ` <20160315012049.GA30055-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-15 7:03 ` Or Gerlitz
[not found] ` <CAJ3xEMhToYOBMo_nNi2fFpTexUmUqb3zBX7zWWYjCDfPWpWn-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-15 19:37 ` Dennis Dalessandro
[not found] ` <20160315193731.GA20662-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-16 15:53 ` Or Gerlitz
[not found] ` <CAJ3xEMjWxdwM0wQR85_-wHpPhYSWz1W0T8H_nDjnp2JS7G29Qw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-16 17:23 ` Dennis Dalessandro
[not found] ` <20160316172309.GB26530-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-03-22 7:33 ` Or Gerlitz
[not found] ` <CAJ3xEMg5OPBT63=VV4EKnZUWSHGatDRL0n7O4iBVrN9bMUw5dg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-22 11:46 ` Dennis Dalessandro
2016-03-10 7:11 ` Or Gerlitz
2016-03-09 14:47 ` Or Gerlitz
[not found] ` <CAJ3xEMhcs-6vDzsNk9nJKoNxTWnfaUtDmNHhLp1EPyerjnw2Xg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-09 15:19 ` Dennis Dalessandro
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=20160308191210.30542.91885.stgit@scvm10.sc.intel.com \
--to=dennis.dalessandro-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.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).