From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Eli Cohen <eli@dev.mellanox.co.il>
Cc: netdev@vger.kernel.org,
Yevgeny Petrilin <yevgenyp@mellanox.co.il>,
Eli Cohen <eli@mellanox.co.il>,
David Laight <David.Laight@ACULAB.COM>,
Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] mlx4_en: fix transmit of packages when blue frame is enabled
Date: Mon, 10 Oct 2011 12:18:33 +0200 [thread overview]
Message-ID: <1318241913.29415.428.camel@pasglop> (raw)
In-Reply-To: <20111010092926.GO2681@mtldesk30>
On Mon, 2011-10-10 at 11:29 +0200, Eli Cohen wrote:
> On Mon, Oct 10, 2011 at 11:24:05AM +0200, Benjamin Herrenschmidt wrote:
> > On Mon, 2011-10-10 at 11:16 +0200, Eli Cohen wrote:
> >
> > > Until then I think we need to have the logic working right on ppc and
> > > measure if blue flame buys us any improvement in ppc. If that's not
> > > the case (e.g because write combining is not working), then maybe we
> > > should avoid using blueflame in ppc.
> > > Could any of the guys from IBM check this and give us feedback?
> >
> > I don't have the necessary hardware myself to test that but maybe Thadeu
> > can.
> >
> > Note that for WC to work, things must be mapped non-guarded. You can do
> > that by using ioremap_prot() with pgprot_noncached_wc(PAGE_KERNEL) or
> > ioremap_wc() (dunno how "generic" the later is).
>
> I use the io mapping API:
>
> at driver statrt:
> priv->bf_mapping = io_mapping_create_wc(bf_start, bf_len);
> if (!priv->bf_mapping)
> err = -ENOMEM;
>
> and then:
> uar->bf_map = io_mapping_map_wc(priv->bf_mapping, uar->index << PAGE_SHIFT);
>
>
> Will this work on ppc?
That API has never been tested on ppc I suspect. We don't have
CONFIG_HAVE_ATOMIC_IOMAP (mostly because we never needed it, it
was designed and only ever used for Intel graphics before), so
it will fallback to:
static inline struct io_mapping *
io_mapping_create_wc(resource_size_t base, unsigned long size)
{
return (struct io_mapping __force *) ioremap_wc(base, size);
}
Which should work (hopefully :-)
Cheers,
Ben.
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Eli Cohen <eli@dev.mellanox.co.il>
Cc: David Laight <David.Laight@ACULAB.COM>,
netdev@vger.kernel.org, Eli Cohen <eli@mellanox.co.il>,
linuxppc-dev@lists.ozlabs.org,
Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>,
Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Subject: Re: [PATCH] mlx4_en: fix transmit of packages when blue frame is enabled
Date: Mon, 10 Oct 2011 12:18:33 +0200 [thread overview]
Message-ID: <1318241913.29415.428.camel@pasglop> (raw)
In-Reply-To: <20111010092926.GO2681@mtldesk30>
On Mon, 2011-10-10 at 11:29 +0200, Eli Cohen wrote:
> On Mon, Oct 10, 2011 at 11:24:05AM +0200, Benjamin Herrenschmidt wrote:
> > On Mon, 2011-10-10 at 11:16 +0200, Eli Cohen wrote:
> >
> > > Until then I think we need to have the logic working right on ppc and
> > > measure if blue flame buys us any improvement in ppc. If that's not
> > > the case (e.g because write combining is not working), then maybe we
> > > should avoid using blueflame in ppc.
> > > Could any of the guys from IBM check this and give us feedback?
> >
> > I don't have the necessary hardware myself to test that but maybe Thadeu
> > can.
> >
> > Note that for WC to work, things must be mapped non-guarded. You can do
> > that by using ioremap_prot() with pgprot_noncached_wc(PAGE_KERNEL) or
> > ioremap_wc() (dunno how "generic" the later is).
>
> I use the io mapping API:
>
> at driver statrt:
> priv->bf_mapping = io_mapping_create_wc(bf_start, bf_len);
> if (!priv->bf_mapping)
> err = -ENOMEM;
>
> and then:
> uar->bf_map = io_mapping_map_wc(priv->bf_mapping, uar->index << PAGE_SHIFT);
>
>
> Will this work on ppc?
That API has never been tested on ppc I suspect. We don't have
CONFIG_HAVE_ATOMIC_IOMAP (mostly because we never needed it, it
was designed and only ever used for Intel graphics before), so
it will fallback to:
static inline struct io_mapping *
io_mapping_create_wc(resource_size_t base, unsigned long size)
{
return (struct io_mapping __force *) ioremap_wc(base, size);
}
Which should work (hopefully :-)
Cheers,
Ben.
next prev parent reply other threads:[~2011-10-10 10:18 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-30 13:23 [PATCH] mlx4_en: fix transmit of packages when blue frame is enabled Thadeu Lima de Souza Cascardo
2011-10-02 8:58 ` Yevgeny Petrilin
2011-10-03 14:37 ` Thadeu Lima de Souza Cascardo
2011-10-03 14:56 ` Yevgeny Petrilin
2011-10-03 20:53 ` Thadeu Lima de Souza Cascardo
2011-10-03 20:53 ` Thadeu Lima de Souza Cascardo
2011-10-04 6:02 ` Benjamin Herrenschmidt
2011-10-04 6:02 ` Benjamin Herrenschmidt
2011-10-04 20:26 ` Thadeu Lima de Souza Cascardo
2011-10-04 20:26 ` Thadeu Lima de Souza Cascardo
2011-10-05 8:15 ` Eli Cohen
2011-10-05 8:15 ` Eli Cohen
2011-10-06 13:57 ` Eli Cohen
2011-10-06 13:57 ` Eli Cohen
2011-10-06 14:10 ` [PATCH] mlx4_en: fix transmit of packages when blue frame isenabled David Laight
2011-10-06 14:10 ` David Laight
2011-10-07 22:29 ` Thadeu Lima de Souza Cascardo
2011-10-07 22:29 ` Thadeu Lima de Souza Cascardo
2011-10-09 7:28 ` Benjamin Herrenschmidt
2011-10-09 7:28 ` Benjamin Herrenschmidt
2011-10-09 7:25 ` [PATCH] mlx4_en: fix transmit of packages when blue frame is enabled Benjamin Herrenschmidt
2011-10-09 7:25 ` Benjamin Herrenschmidt
2011-10-09 7:35 ` Eli Cohen
2011-10-09 7:35 ` Eli Cohen
2011-10-09 8:00 ` Benjamin Herrenschmidt
2011-10-09 8:07 ` Eli Cohen
2011-10-09 8:07 ` Eli Cohen
2011-10-09 8:38 ` Benjamin Herrenschmidt
2011-10-09 8:38 ` Benjamin Herrenschmidt
2011-10-09 9:21 ` Eli Cohen
2011-10-09 9:21 ` Eli Cohen
2011-10-09 9:52 ` Benjamin Herrenschmidt
2011-10-09 9:52 ` Benjamin Herrenschmidt
2011-10-09 10:30 ` Eli Cohen
2011-10-09 10:30 ` Eli Cohen
2011-10-10 7:32 ` Benjamin Herrenschmidt
2011-10-10 7:32 ` Benjamin Herrenschmidt
2011-10-10 16:42 ` [PATCH] mlx4_en: fix endianness with blue frame support Thadeu Lima de Souza Cascardo
2011-10-10 16:42 ` Thadeu Lima de Souza Cascardo
2011-10-10 16:46 ` Thadeu Lima de Souza Cascardo
2011-10-10 16:46 ` Thadeu Lima de Souza Cascardo
2011-10-10 18:10 ` David Miller
2011-10-10 18:10 ` David Miller
2011-10-10 8:20 ` [PATCH] mlx4_en: fix transmit of packages when blue frame is enabled David Laight
2011-10-10 8:20 ` David Laight
2011-10-10 8:29 ` Benjamin Herrenschmidt
2011-10-10 8:29 ` Benjamin Herrenschmidt
2011-10-10 8:40 ` David Laight
2011-10-10 8:40 ` David Laight
2011-10-10 8:47 ` Eli Cohen
2011-10-10 9:01 ` Benjamin Herrenschmidt
2011-10-10 9:01 ` Benjamin Herrenschmidt
2011-10-10 9:16 ` Eli Cohen
2011-10-10 9:16 ` Eli Cohen
2011-10-10 9:24 ` Benjamin Herrenschmidt
2011-10-10 9:24 ` Benjamin Herrenschmidt
2011-10-10 9:29 ` Eli Cohen
2011-10-10 9:29 ` Eli Cohen
2011-10-10 10:18 ` Benjamin Herrenschmidt [this message]
2011-10-10 10:18 ` Benjamin Herrenschmidt
2011-10-10 8:53 ` Benjamin Herrenschmidt
2011-10-10 8:53 ` Benjamin Herrenschmidt
2011-10-09 7:21 ` Benjamin Herrenschmidt
2011-10-09 7:21 ` Benjamin Herrenschmidt
2011-10-09 7:19 ` Benjamin Herrenschmidt
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=1318241913.29415.428.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=David.Laight@ACULAB.COM \
--cc=cascardo@linux.vnet.ibm.com \
--cc=eli@dev.mellanox.co.il \
--cc=eli@mellanox.co.il \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
--cc=yevgenyp@mellanox.co.il \
/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.