From: gregkh@linuxfoundation.org (gregkh@linuxfoundation.org)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 2/9] Move dma_ops from archdata into struct device
Date: Wed, 11 Jan 2017 21:29:49 +0100 [thread overview]
Message-ID: <20170111202949.GA17895@kroah.com> (raw)
In-Reply-To: <1484157772.2619.12.camel@sandisk.com>
On Wed, Jan 11, 2017@06:03:15PM +0000, Bart Van Assche wrote:
> On Wed, 2017-01-11@07:46 +0100, Greg Kroah-Hartman wrote:
> > 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 <bart.vanassche at sandisk.com>
> > > Cc: [ ... ]
> >
> > That's a crazy cc: list, you should break this up into smaller pieces,
> > otherwise it's going to bounce...
>
> That's a subset of what scripts/get_maintainer.pl came up with. Suggestions
> for a more appropriate cc-list for a patch like this that touches all
> architectures would be welcome.
You need to break this patch up into a series that can be applied in
sequence, don't change everything all at once. That's a mess to merge,
as you are finding out.
> > > 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?
>
> Are there CPU architectures for which access to the first member of a
> structure can be encoded and/or executed more efficiently than access to
> other members of a structure? If not, I'm fine with moving the new pointer
> further down.
Why do you think that your pointer is the one that gets to be "most
efficient"? :)
Seriously, no, it doesn't matter at all, it's all just pointer math
which is very fast. Put it with the other stuff please, don't try to
optimize something without ever measuring it.
thanks,
greg k-h
next prev parent reply other threads:[~2017-01-11 20:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170111005648.14988-1-bart.vanassche@sandisk.com>
2017-01-11 0:56 ` [PATCH 1/9] treewide: Constify most dma_map_ops structures 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 6:46 ` Greg Kroah-Hartman
2017-01-11 18:03 ` Bart Van Assche
2017-01-11 20:29 ` gregkh [this message]
2017-01-11 6:48 ` Greg Kroah-Hartman
2017-01-11 18:17 ` Bart Van Assche
2017-01-11 20:31 ` gregkh
2017-01-11 22:28 ` Bart Van Assche
2017-01-12 7:35 ` gregkh
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=20170111202949.GA17895@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=linux-snps-arc@lists.infradead.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