From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: Re: [PATCH 2/9] Move dma_ops from archdata into struct device Date: Wed, 11 Jan 2017 07:46:24 +0100 Message-ID: <20170111064624.GA26893@kroah.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> <20170111005648.14988-3-bart.vanassche@sandisk.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20170111005648.14988-3-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Bart Van Assche Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org, Rich Felker , linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Aurelien Jacquiot , Catalin Marinas , Will Deacon , Muli Ben-Yehuda , David Howells , Max Filippov , "H . Peter Anvin" , sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King , Thomas Gleixner , Hans-Christian Egtvedt , Jonas Bonn , linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jesper Nilsson , linux-am33-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org, Yoshinori Sato , linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Helge Deller , x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, "James E . J . Bottomley" , Doug Ledford List-Id: linux-rdma@vger.kernel.org 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 > Cc: Greg Kroah-Hartman > Cc: Aurelien Jacquiot > Cc: Catalin Marinas > Cc: Chris Zankel > Cc: David Howells > Cc: David S. Miller > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Geoff Levand > Cc: H. Peter Anvin > Cc: Haavard Skinnemoen > Cc: Hans-Christian Egtvedt > Cc: Helge Deller > Cc: Ingo Molnar > Cc: James E.J. Bottomley > Cc: Jesper Nilsson > Cc: Joerg Roedel > Cc: Jon Mason > Cc: Jonas Bonn > Cc: Ley Foon Tan > Cc: Mark Salter > Cc: Max Filippov > Cc: Mikael Starvik > Cc: Muli Ben-Yehuda > Cc: Rich Felker > Cc: Russell King > Cc: Stafford Horne > Cc: Stefan Kristiansson > Cc: Thomas Gleixner > Cc: Tony Luck > Cc: Will Deacon > Cc: x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org > Cc: Yoshinori Sato > Cc: adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > Cc: linux-alpha-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-am33-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org > Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > Cc: linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org > Cc: linux-cris-kernel-VrBV9hrLPhE@public.gmane.org > Cc: linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-m68k-cunTk1MwBs8S/qaLPR03pWD2FQJk+8+b@public.gmane.org > Cc: linux-metag-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org > Cc: linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > Cc: linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw@public.gmane.org > Cc: linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org > Cc: nios2-dev-g9ZBwUv/Ih/yUk5EbOjzuce+I+R0W71w@public.gmane.org > Cc: openrisc-cunTk1MwBs9a3B2Vnqf2dGD2FQJk+8+b@public.gmane.org > Cc: sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: uclinux-h8-devel-5NWGOfrQmneRv+LV9MX5uooqe+aC9MnS@public.gmane.org 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: Re: [PATCH 2/9] Move dma_ops from archdata into struct device Date: Wed, 11 Jan 2017 07:46:24 +0100 Message-ID: <20170111064624.GA26893@kroah.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> <20170111005648.14988-3-bart.vanassche@sandisk.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org, Rich Felker , linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Aurelien Jacquiot , Catalin Marinas , Will Deacon , Muli Ben-Yehuda , David Howells , Max Filippov , "H . Peter Anvin" , sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Russell King , Thomas Gleixner , Hans-Christian Egtvedt , Jonas Bonn , linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jesper Nilsson , linux-am33-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org, Yoshinori Sato , linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Helge Deller , x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, "James E . J . Bottomley" , Doug Ledford Return-path: In-Reply-To: <20170111005648.14988-3-bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org> List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org 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 > Cc: Greg Kroah-Hartman > Cc: Aurelien Jacquiot > Cc: Catalin Marinas > Cc: Chris Zankel > Cc: David Howells > Cc: David S. Miller > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Geoff Levand > Cc: H. Peter Anvin > Cc: Haavard Skinnemoen > Cc: Hans-Christian Egtvedt > Cc: Helge Deller > Cc: Ingo Molnar > Cc: James E.J. Bottomley > Cc: Jesper Nilsson > Cc: Joerg Roedel > Cc: Jon Mason > Cc: Jonas Bonn > Cc: Ley Foon Tan > Cc: Mark Salter > Cc: Max Filippov > Cc: Mikael Starvik > Cc: Muli Ben-Yehuda > Cc: Rich Felker > Cc: Russell King > Cc: Stafford Horne > Cc: Stefan Kristiansson > Cc: Thomas Gleixner > Cc: Tony Luck > Cc: Will Deacon > Cc: x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org > Cc: Yoshinori Sato > Cc: adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > Cc: linux-alpha-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-am33-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org > Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > Cc: linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org > Cc: linux-cris-kernel-VrBV9hrLPhE@public.gmane.org > Cc: linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-m68k-cunTk1MwBs8S/qaLPR03pWD2FQJk+8+b@public.gmane.org > Cc: linux-metag-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org > Cc: linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > Cc: linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw@public.gmane.org > Cc: linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org > Cc: nios2-dev-g9ZBwUv/Ih/yUk5EbOjzuce+I+R0W71w@public.gmane.org > Cc: openrisc-cunTk1MwBs9a3B2Vnqf2dGD2FQJk+8+b@public.gmane.org > Cc: sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: uclinux-h8-devel-5NWGOfrQmneRv+LV9MX5uooqe+aC9MnS@public.gmane.org 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 11 Jan 2017 07:46:20 +0100 (CET) Received: from mail.linuxfoundation.org ([140.211.169.12]:56366 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S23993881AbdAKGqMV4Nym (ORCPT ); Wed, 11 Jan 2017 07:46:12 +0100 Received: from localhost (unknown [78.192.101.3]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id F3431A58; Wed, 11 Jan 2017 06:46:02 +0000 (UTC) Date: Wed, 11 Jan 2017 07:46:24 +0100 From: Greg Kroah-Hartman To: Bart Van Assche Cc: Doug Ledford , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Aurelien Jacquiot , Catalin Marinas , Chris Zankel , David Howells , "David S . Miller" , Fenghua Yu , Geert Uytterhoeven , Geoff Levand , "H . Peter Anvin" , Haavard Skinnemoen , Hans-Christian Egtvedt , Helge Deller , Ingo Molnar , "James E . J . Bottomley" , Jesper Nilsson , Joerg Roedel , Jon Mason , Jonas Bonn , Ley Foon Tan , Mark Salter , Max Filippov , Mikael Starvik , Muli Ben-Yehuda , Rich Felker , Russell King , Stafford Horne , Stefan Kristiansson , Thomas Gleixner , Tony Luck , Will Deacon , x86@kernel.org, Yoshinori Sato , adi-buildroot-devel@lists.sourceforge.net, iommu@lists.linux-foundation.org, linux-alpha@vger.kernel.org, linux-am33-list@redhat.com, linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-cris-kernel@axis.com, linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-metag@vger.kernel.org, linux-mips@linux-mips.org, linux-parisc@vger.kernel.org, linux-pci@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-xtensa@linux-xtensa.org, linuxppc-dev@lists.ozlabs.org, nios2-dev@lists.rocketboards.org, openrisc@lists.librecores.org, sparclinux@vger.kernel.org, uclinux-h8-devel@lists.sourceforge.jp Subject: Re: [PATCH 2/9] Move dma_ops from archdata into struct device Message-ID: <20170111064624.GA26893@kroah.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> <20170111005648.14988-3-bart.vanassche@sandisk.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170111005648.14988-3-bart.vanassche@sandisk.com> User-Agent: Mutt/1.7.2 (2016-11-26) Return-Path: X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0) X-Orcpt: rfc822;linux-mips@linux-mips.org Original-Recipient: rfc822;linux-mips@linux-mips.org X-archive-position: 56257 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: gregkh@linuxfoundation.org Precedence: bulk List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: linux-mips X-List-ID: linux-mips List-subscribe: List-owner: List-post: List-archive: X-list: linux-mips 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 > Cc: Greg Kroah-Hartman > Cc: Aurelien Jacquiot > Cc: Catalin Marinas > Cc: Chris Zankel > Cc: David Howells > Cc: David S. Miller > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Geoff Levand > Cc: H. Peter Anvin > Cc: Haavard Skinnemoen > Cc: Hans-Christian Egtvedt > Cc: Helge Deller > Cc: Ingo Molnar > Cc: James E.J. Bottomley > Cc: Jesper Nilsson > Cc: Joerg Roedel > Cc: Jon Mason > Cc: Jonas Bonn > Cc: Ley Foon Tan > Cc: Mark Salter > Cc: Max Filippov > Cc: Mikael Starvik > Cc: Muli Ben-Yehuda > Cc: Rich Felker > Cc: Russell King > Cc: Stafford Horne > Cc: Stefan Kristiansson > Cc: Thomas Gleixner > Cc: Tony Luck > Cc: Will Deacon > Cc: x86@kernel.org > Cc: Yoshinori Sato > Cc: adi-buildroot-devel@lists.sourceforge.net > Cc: iommu@lists.linux-foundation.org > Cc: linux-alpha@vger.kernel.org > Cc: linux-am33-list@redhat.com > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-c6x-dev@linux-c6x.org > Cc: linux-cris-kernel@axis.com > Cc: linux-hexagon@vger.kernel.org > Cc: linux-ia64@vger.kernel.org > Cc: linux-m68k@lists.linux-m68k.org > Cc: linux-metag@vger.kernel.org > Cc: linux-mips@linux-mips.org > Cc: linux-parisc@vger.kernel.org > Cc: linux-pci@vger.kernel.org > Cc: linux-rdma@vger.kernel.org > Cc: linux-s390@vger.kernel.org > Cc: linux-sh@vger.kernel.org > Cc: linux-snps-arc@lists.infradead.org > Cc: linux-xtensa@linux-xtensa.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: nios2-dev@lists.rocketboards.org > Cc: openrisc@lists.librecores.org > Cc: sparclinux@vger.kernel.org > Cc: uclinux-h8-devel@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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregkh@linuxfoundation.org (Greg Kroah-Hartman) Date: Wed, 11 Jan 2017 07:46:24 +0100 Subject: [PATCH 2/9] Move dma_ops from archdata into struct device In-Reply-To: <20170111005648.14988-3-bart.vanassche@sandisk.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> <20170111005648.14988-3-bart.vanassche@sandisk.com> List-ID: Message-ID: <20170111064624.GA26893@kroah.com> To: linux-snps-arc@lists.infradead.org On Tue, Jan 10, 2017@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 > Cc: Greg Kroah-Hartman > Cc: Aurelien Jacquiot > Cc: Catalin Marinas > Cc: Chris Zankel > Cc: David Howells > Cc: David S. Miller > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Geoff Levand > Cc: H. Peter Anvin > Cc: Haavard Skinnemoen > Cc: Hans-Christian Egtvedt > Cc: Helge Deller > Cc: Ingo Molnar > Cc: James E.J. Bottomley > Cc: Jesper Nilsson > Cc: Joerg Roedel > Cc: Jon Mason > Cc: Jonas Bonn > Cc: Ley Foon Tan > Cc: Mark Salter > Cc: Max Filippov > Cc: Mikael Starvik > Cc: Muli Ben-Yehuda > Cc: Rich Felker > Cc: Russell King > Cc: Stafford Horne > Cc: Stefan Kristiansson > Cc: Thomas Gleixner > Cc: Tony Luck > Cc: Will Deacon > Cc: x86 at kernel.org > Cc: Yoshinori Sato > Cc: adi-buildroot-devel at lists.sourceforge.net > Cc: iommu at lists.linux-foundation.org > Cc: linux-alpha at vger.kernel.org > Cc: linux-am33-list at redhat.com > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-c6x-dev at linux-c6x.org > Cc: linux-cris-kernel at axis.com > Cc: linux-hexagon at vger.kernel.org > Cc: linux-ia64 at vger.kernel.org > Cc: linux-m68k at lists.linux-m68k.org > Cc: linux-metag at vger.kernel.org > Cc: linux-mips at linux-mips.org > Cc: linux-parisc at vger.kernel.org > Cc: linux-pci at vger.kernel.org > Cc: linux-rdma at vger.kernel.org > Cc: linux-s390 at vger.kernel.org > Cc: linux-sh at vger.kernel.org > Cc: linux-snps-arc at lists.infradead.org > Cc: linux-xtensa at linux-xtensa.org > Cc: linuxppc-dev at lists.ozlabs.org > Cc: nios2-dev at lists.rocketboards.org > Cc: openrisc at lists.librecores.org > Cc: sparclinux at vger.kernel.org > Cc: uclinux-h8-devel at 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Date: Wed, 11 Jan 2017 07:46:24 +0100 Subject: [OpenRISC] [PATCH 2/9] Move dma_ops from archdata into struct device In-Reply-To: <20170111005648.14988-3-bart.vanassche@sandisk.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> <20170111005648.14988-3-bart.vanassche@sandisk.com> Message-ID: <20170111064624.GA26893@kroah.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: openrisc@lists.librecores.org 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 > Cc: Greg Kroah-Hartman > Cc: Aurelien Jacquiot > Cc: Catalin Marinas > Cc: Chris Zankel > Cc: David Howells > Cc: David S. Miller > Cc: Fenghua Yu > Cc: Geert Uytterhoeven > Cc: Geoff Levand > Cc: H. Peter Anvin > Cc: Haavard Skinnemoen > Cc: Hans-Christian Egtvedt > Cc: Helge Deller > Cc: Ingo Molnar > Cc: James E.J. Bottomley > Cc: Jesper Nilsson > Cc: Joerg Roedel > Cc: Jon Mason > Cc: Jonas Bonn > Cc: Ley Foon Tan > Cc: Mark Salter > Cc: Max Filippov > Cc: Mikael Starvik > Cc: Muli Ben-Yehuda > Cc: Rich Felker > Cc: Russell King > Cc: Stafford Horne > Cc: Stefan Kristiansson > Cc: Thomas Gleixner > Cc: Tony Luck > Cc: Will Deacon > Cc: x86 at kernel.org > Cc: Yoshinori Sato > Cc: adi-buildroot-devel at lists.sourceforge.net > Cc: iommu at lists.linux-foundation.org > Cc: linux-alpha at vger.kernel.org > Cc: linux-am33-list at redhat.com > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-c6x-dev at linux-c6x.org > Cc: linux-cris-kernel at axis.com > Cc: linux-hexagon at vger.kernel.org > Cc: linux-ia64 at vger.kernel.org > Cc: linux-m68k at lists.linux-m68k.org > Cc: linux-metag at vger.kernel.org > Cc: linux-mips at linux-mips.org > Cc: linux-parisc at vger.kernel.org > Cc: linux-pci at vger.kernel.org > Cc: linux-rdma at vger.kernel.org > Cc: linux-s390 at vger.kernel.org > Cc: linux-sh at vger.kernel.org > Cc: linux-snps-arc at lists.infradead.org > Cc: linux-xtensa at linux-xtensa.org > Cc: linuxppc-dev at lists.ozlabs.org > Cc: nios2-dev at lists.rocketboards.org > Cc: openrisc at lists.librecores.org > Cc: sparclinux at vger.kernel.org > Cc: uclinux-h8-devel at 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