On Tue, Jan 10, 2017 at 04:56:41PM -0800, Bart Van Assche wrote:
> Several RDMA drivers, e.g. drivers/infiniband/hw/qib, use the CPU to
> transfer data between memory and PCIe adapter. Because of performance
> reasons it is important that the CPU cache is not flushed when such
> drivers transfer data. Make this possible by allowing these drivers to
> override the dma_map_ops pointer. Additionally, introduce the function
> set_dma_ops() that will be used by a later patch in this series.
> 
> Signed-off-by: Bart Van Assche <bart.vanass...@sandisk.com>
> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> Cc: Aurelien Jacquiot <a-jacqu...@ti.com>
> Cc: Catalin Marinas <catalin.mari...@arm.com>
> Cc: Chris Zankel <ch...@zankel.net>
> Cc: David Howells <dhowe...@redhat.com>
> Cc: David S. Miller <da...@davemloft.net>
> Cc: Fenghua Yu <fenghua...@intel.com>
> Cc: Geert Uytterhoeven <ge...@linux-m68k.org>
> Cc: Geoff Levand <ge...@infradead.org>
> Cc: H. Peter Anvin <h...@zytor.com>
> Cc: Haavard Skinnemoen <hskinnem...@gmail.com>
> Cc: Hans-Christian Egtvedt <egtv...@samfundet.no>
> Cc: Helge Deller <del...@gmx.de>
> Cc: Ingo Molnar <mi...@redhat.com>
> Cc: James E.J. Bottomley <j...@parisc-linux.org>
> Cc: Jesper Nilsson <jesper.nils...@axis.com>
> Cc: Joerg Roedel <j...@8bytes.org>
> Cc: Jon Mason <jdma...@kudzu.us>
> Cc: Jonas Bonn <jo...@southpole.se>
> Cc: Ley Foon Tan <lf...@altera.com>
> Cc: Mark Salter <msal...@redhat.com>
> Cc: Max Filippov <jcmvb...@gmail.com>
> Cc: Mikael Starvik <star...@axis.com>
> Cc: Muli Ben-Yehuda <mu...@mulix.org>
> Cc: Rich Felker <dal...@libc.org>
> Cc: Russell King <li...@armlinux.org.uk>
> Cc: Stafford Horne <sho...@gmail.com>
> Cc: Stefan Kristiansson <stefan.kristians...@saunalahti.fi>
> Cc: Thomas Gleixner <t...@linutronix.de>
> Cc: Tony Luck <tony.l...@intel.com>
> Cc: Will Deacon <will.dea...@arm.com>
> Cc: x...@kernel.org
> Cc: Yoshinori Sato <ys...@users.sourceforge.jp>
> Cc: adi-buildroot-de...@lists.sourceforge.net
> Cc: iommu@lists.linux-foundation.org
> Cc: linux-al...@vger.kernel.org
> Cc: linux-am33-l...@redhat.com
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-c6x-...@linux-c6x.org
> Cc: linux-cris-ker...@axis.com
> Cc: linux-hexa...@vger.kernel.org
> Cc: linux-i...@vger.kernel.org
> Cc: linux-m...@lists.linux-m68k.org
> Cc: linux-me...@vger.kernel.org
> Cc: linux-m...@linux-mips.org
> Cc: linux-par...@vger.kernel.org
> Cc: linux-...@vger.kernel.org
> Cc: linux-r...@vger.kernel.org
> Cc: linux-s...@vger.kernel.org
> Cc: linux...@vger.kernel.org
> Cc: linux-snps-...@lists.infradead.org
> Cc: linux-xte...@linux-xtensa.org
> Cc: linuxppc-...@lists.ozlabs.org
> Cc: nios2-...@lists.rocketboards.org
> Cc: openr...@lists.librecores.org
> Cc: sparcli...@vger.kernel.org
> Cc: uclinux-h8-de...@lists.sourceforge.jp

That's a crazy cc: list, you should break this up into smaller pieces,
otherwise it's going to bounce...

> diff --git a/include/linux/device.h b/include/linux/device.h
> index 491b4c0ca633..c7cb225d36b0 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -885,6 +885,8 @@ struct dev_links_info {
>   * a higher-level representation of the device.
>   */
>  struct device {
> +     const struct dma_map_ops *dma_ops; /* See also get_dma_ops() */
> +
>       struct device           *parent;
>  
>       struct device_private   *p;

Why not put this new pointer down with the other dma fields in this
structure?  Any specific reason it needs to be first?

thanks,

greg k-h
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to