All of lore.kernel.org
 help / color / mirror / Atom feed
From: "santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org" <santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Bart Van Assche
	<bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>,
	Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 0/9] IB: Optimize DMA mapping
Date: Tue, 10 Jan 2017 17:28:14 -0800	[thread overview]
Message-ID: <320aa1cd-8110-2724-a43d-514efc386127@oracle.com> (raw)
In-Reply-To: <20170111005648.14988-1-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>

On 1/10/17 4:56 PM, Bart Van Assche wrote:
> Hello Doug,
>
> As you know there are two sets of DMA mapping operations in the Linux
> kernel:
> - One set of DMA mapping operations that is used by most drivers.
> - Another set of DMA mapping operations that is only used by the RDMA
>   drivers.
> Having two sets of DMA mapping operations is not only a source of
> confusion but also a source of unnecessary overhead. The DMA mapping
> operations are in the hot path so it is important that the overhead
> of these operations is as low as possible. Hence this patch series
> that converts the RDMA code to the standard DMA mapping API and
> thereby eliminates the if (dev->dma_ops) test from the hot path. An
> additional benefit is that the size of HW and SW drivers that do not
> use DMA is reduced by switching to dma_virt_ops.
>
This is really good series. I was always wondering why the extra
indirection was added first place on streaming APIs.

Regards,
Santosh


--
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

WARNING: multiple messages have this Message-ID (diff)
From: "santosh.shilimkar@oracle.com" <santosh.shilimkar@oracle.com>
To: Bart Van Assche <bart.vanassche@sandisk.com>,
	Doug Ledford <dledford@redhat.com>
Cc: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/9] IB: Optimize DMA mapping
Date: Tue, 10 Jan 2017 17:28:14 -0800	[thread overview]
Message-ID: <320aa1cd-8110-2724-a43d-514efc386127@oracle.com> (raw)
In-Reply-To: <20170111005648.14988-1-bart.vanassche@sandisk.com>

On 1/10/17 4:56 PM, Bart Van Assche wrote:
> Hello Doug,
>
> As you know there are two sets of DMA mapping operations in the Linux
> kernel:
> - One set of DMA mapping operations that is used by most drivers.
> - Another set of DMA mapping operations that is only used by the RDMA
>   drivers.
> Having two sets of DMA mapping operations is not only a source of
> confusion but also a source of unnecessary overhead. The DMA mapping
> operations are in the hot path so it is important that the overhead
> of these operations is as low as possible. Hence this patch series
> that converts the RDMA code to the standard DMA mapping API and
> thereby eliminates the if (dev->dma_ops) test from the hot path. An
> additional benefit is that the size of HW and SW drivers that do not
> use DMA is reduced by switching to dma_virt_ops.
>
This is really good series. I was always wondering why the extra
indirection was added first place on streaming APIs.

Regards,
Santosh

  parent reply	other threads:[~2017-01-11  1:28 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-11  0:56 [PATCH 0/9] IB: Optimize DMA mapping Bart Van Assche
2017-01-11  0:56 ` Bart Van Assche
2017-01-11  0:56 ` [PATCH 1/9] treewide: Constify most dma_map_ops structures Bart Van Assche
2017-01-11  0:56   ` [OpenRISC] " Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56 ` Bart Van Assche
2017-01-11  0:56 ` [PATCH 2/9] Move dma_ops from archdata into struct device Bart Van Assche
2017-01-11  0:56   ` [OpenRISC] " Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
     [not found]   ` <20170111005648.14988-3-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-11  6:46     ` Greg Kroah-Hartman
2017-01-11  6:46       ` [OpenRISC] " Greg Kroah-Hartman
2017-01-11  6:46       ` Greg Kroah-Hartman
2017-01-11  6:46       ` Greg Kroah-Hartman
2017-01-11  6:46       ` Greg Kroah-Hartman
     [not found]       ` <20170111064624.GA26893-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-01-11 18:03         ` Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
2017-01-11 18:03           ` [OpenRISC] " Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
2017-01-11 18:03           ` Bart Van Assche
     [not found]           ` <1484157772.2619.12.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-11 20:29             ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11 20:29               ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11 20:29               ` [OpenRISC] " gregkh
2017-01-11 20:29               ` gregkh
2017-01-11 20:29               ` gregkh
2017-01-11 20:29               ` gregkh
2017-01-11 20:29               ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11  6:48     ` Greg Kroah-Hartman
2017-01-11  6:48       ` [OpenRISC] " Greg Kroah-Hartman
2017-01-11  6:48       ` Greg Kroah-Hartman
2017-01-11  6:48       ` Greg Kroah-Hartman
2017-01-11  6:48       ` Greg Kroah-Hartman
     [not found]       ` <20170111064803.GB26893-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-01-11 18:17         ` Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
2017-01-11 18:17           ` [OpenRISC] " Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
2017-01-11 18:17           ` Bart Van Assche
     [not found]           ` <1484158589.2619.14.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-11 20:31             ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11 20:31               ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11 20:31               ` [OpenRISC] " gregkh
2017-01-11 20:31               ` gregkh
2017-01-11 20:31               ` gregkh
2017-01-11 20:31               ` gregkh
2017-01-11 20:31               ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
     [not found]               ` <20170111203100.GB17895-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-01-11 22:28                 ` Bart Van Assche
2017-01-11 22:28                   ` Bart Van Assche
2017-01-11 22:28                   ` [OpenRISC] " Bart Van Assche
2017-01-11 22:28                   ` Bart Van Assche
2017-01-11 22:28                   ` Bart Van Assche
2017-01-11 22:28                   ` Bart Van Assche
2017-01-11 22:28                   ` Bart Van Assche
     [not found]                   ` <1484173670.2619.28.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-12  7:35                     ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-12  7:35                       ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-12  7:35                       ` [OpenRISC] " gregkh
2017-01-12  7:35                       ` gregkh
2017-01-12  7:35                       ` gregkh
2017-01-12  7:35                       ` gregkh
2017-01-12  7:35                       ` gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r
2017-01-11  0:56 ` [PATCH 3/9] dma: Add dma_virt_ops Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  8:56   ` Christoph Hellwig
     [not found]     ` <20170111085625.GA15575-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-01-12  0:07       ` Bart Van Assche
2017-01-12  0:07         ` Bart Van Assche
2017-01-11  0:56 ` [PATCH 5/9] IB/qib: Remove DMA mapping code Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-12 13:15   ` Leon Romanovsky
2017-01-11  0:56 ` [PATCH 6/9] IB: Use dma_virt_ops instead of duplicating it Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
     [not found]   ` <20170111005648.14988-7-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-12 13:17     ` Leon Romanovsky
2017-01-12 13:17       ` Leon Romanovsky
2017-01-11  0:56 ` [PATCH 7/9] RDS: IB: Remove an unused structure member Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
     [not found]   ` <20170111005648.14988-8-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-11  1:21     ` santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA
2017-01-11  1:21       ` santosh.shilimkar
2017-01-11  0:56 ` [PATCH 8/9] IB: Convert ib_dma_*_coherent() argument type from u64 into dma_addr_t Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
     [not found]   ` <20170111005648.14988-9-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-12 13:12     ` Leon Romanovsky
2017-01-12 13:12       ` Leon Romanovsky
2017-01-11  0:56 ` [PATCH 9/9] treewide: Inline ib_dma_map_*() functions Bart Van Assche
2017-01-11  0:56   ` [lustre-devel] " Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
2017-01-11  0:56   ` Bart Van Assche
     [not found]   ` <20170111005648.14988-10-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-12 11:45     ` Sagi Grimberg
2017-01-12 11:45       ` [lustre-devel] " Sagi Grimberg
2017-01-12 11:45       ` Sagi Grimberg
2017-01-12 11:45       ` Sagi Grimberg
2017-01-12 13:09   ` Leon Romanovsky
2017-01-12 13:09     ` [lustre-devel] " Leon Romanovsky
2017-01-12 13:09     ` Leon Romanovsky
2017-01-12 13:09     ` Leon Romanovsky
     [not found] ` <20170111005648.14988-1-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-11  0:56   ` [PATCH 4/9] IB/hf1: Remove DMA mapping code Bart Van Assche
2017-01-11  0:56     ` Bart Van Assche
2017-01-11  1:28   ` santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA [this message]
2017-01-11  1:28     ` [PATCH 0/9] IB: Optimize DMA mapping santosh.shilimkar

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=320aa1cd-8110-2724-a43d-514efc386127@oracle.com \
    --to=santosh.shilimkar-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.