All of lore.kernel.org
 help / color / mirror / Atom feed
* linux support for freescale e5500 core?
@ 2010-09-16 20:06 Chris Friesen
  2010-09-16 21:39 ` Scott Wood
  0 siblings, 1 reply; 10+ messages in thread
From: Chris Friesen @ 2010-09-16 20:06 UTC (permalink / raw)
  To: linuxppc-dev, timur, Benjamin Herrenschmidt, paulus


Hi,

We're looking at maybe doing some work with an e5500-based system.  Is
there any support existing/planned for this core?

Also, do we know what the cache line size is--we have some legacy apps
that assume 32-byte.

Thanks,
Chris

-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-16 20:06 linux support for freescale e5500 core? Chris Friesen
@ 2010-09-16 21:39 ` Scott Wood
  2010-09-16 21:44   ` Chris Friesen
  0 siblings, 1 reply; 10+ messages in thread
From: Scott Wood @ 2010-09-16 21:39 UTC (permalink / raw)
  To: Chris Friesen; +Cc: linuxppc-dev, paulus, timur

On Thu, 16 Sep 2010 14:06:37 -0600
Chris Friesen <chris.friesen@genband.com> wrote:

> We're looking at maybe doing some work with an e5500-based system.  Is
> there any support existing/planned for this core?

Check with whoever you'd be getting the hardware from about a BSP.

And yes, it should be supported upstream at some point.

> Also, do we know what the cache line size is--we have some legacy apps
> that assume 32-byte.

The cache line is 64 bytes.  As with e500mc, there is a "dcbz32" mode
for compatibility, though you probably lose much of the performance
benefit of dcbz, and it might upset other software that properly checks
for the cache line size but doesn't use dcbzl.

-Scott

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-16 21:39 ` Scott Wood
@ 2010-09-16 21:44   ` Chris Friesen
  2010-09-16 22:03     ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 10+ messages in thread
From: Chris Friesen @ 2010-09-16 21:44 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev, paulus, timur

On 09/16/2010 03:39 PM, Scott Wood wrote:
> On Thu, 16 Sep 2010 14:06:37 -0600
> Chris Friesen <chris.friesen@genband.com> wrote:
> 
>> We're looking at maybe doing some work with an e5500-based system.  Is
>> there any support existing/planned for this core?
> 
> Check with whoever you'd be getting the hardware from about a BSP.
> 
> And yes, it should be supported upstream at some point.

We haven't settled on a vendor yet, so I was just wondering in general
what the story was around support.

>> Also, do we know what the cache line size is--we have some legacy apps
>> that assume 32-byte.
> 
> The cache line is 64 bytes.  As with e500mc, there is a "dcbz32" mode
> for compatibility, though you probably lose much of the performance
> benefit of dcbz, and it might upset other software that properly checks
> for the cache line size but doesn't use dcbzl.

Right.  We currently use a 970-series cpu and have implemented a
per-process flag to indicate whether 32-byte mode is needed or not.
We'd have to do something similar with the new cpu.

One last question--can you comment on the speed of an e5500 relative to
a 970 for integer operations?

Thanks,

Chris


-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-16 21:44   ` Chris Friesen
@ 2010-09-16 22:03     ` Benjamin Herrenschmidt
  2010-09-16 22:26       ` Chris Friesen
  0 siblings, 1 reply; 10+ messages in thread
From: Benjamin Herrenschmidt @ 2010-09-16 22:03 UTC (permalink / raw)
  To: Chris Friesen; +Cc: Scott Wood, linuxppc-dev, paulus, timur

On Thu, 2010-09-16 at 15:44 -0600, Chris Friesen wrote:
> On 09/16/2010 03:39 PM, Scott Wood wrote:
> > On Thu, 16 Sep 2010 14:06:37 -0600
> > Chris Friesen <chris.friesen@genband.com> wrote:
> > 
> >> We're looking at maybe doing some work with an e5500-based system.  Is
> >> there any support existing/planned for this core?
> > 
> > Check with whoever you'd be getting the hardware from about a BSP.
> > 
> > And yes, it should be supported upstream at some point.
> 
> We haven't settled on a vendor yet, so I was just wondering in general
> what the story was around support.

Well, the "core" support for 64-bit BookE is upstream (and has been for
a little while) so +/- specific tweaks FSL may have done and the usual
SoC/board support, it shouldn't be too far off.

> Right.  We currently use a 970-series cpu and have implemented a
> per-process flag to indicate whether 32-byte mode is needed or not.
> We'd have to do something similar with the new cpu.

Sounds like a candidate for upstreaming the patch :-)

> One last question--can you comment on the speed of an e5500 relative to
> a 970 for integer operations?

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-16 22:03     ` Benjamin Herrenschmidt
@ 2010-09-16 22:26       ` Chris Friesen
  2010-09-17  0:03         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 10+ messages in thread
From: Chris Friesen @ 2010-09-16 22:26 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Chris Friesen, Scott Wood, paulus, timur, linuxppc-dev

On 09/16/2010 04:03 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2010-09-16 at 15:44 -0600, Chris Friesen wrote:

>> Right.  We currently use a 970-series cpu and have implemented a
>> per-process flag to indicate whether 32-byte mode is needed or not.
>> We'd have to do something similar with the new cpu.
> 
> Sounds like a candidate for upstreaming the patch :-)

As I recall we proposed upstreaming it a while back but there wasn't a
lot of interest since it's most useful in supporting poorly-written
legacy apps. :)

Chris



-- 
The author works for GENBAND Corporation (GENBAND) who is solely
responsible for this email and its contents. All enquiries regarding
this email should be addressed to GENBAND. Nortel has provided the use
of the nortel.com domain to GENBAND in connection with this email solely
for the purpose of connectivity and Nortel Networks Inc. has no
liability for the email or its contents. GENBAND's web site is
http://www.genband.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-16 22:26       ` Chris Friesen
@ 2010-09-17  0:03         ` Benjamin Herrenschmidt
  2010-09-17  5:17           ` Kumar Gala
  0 siblings, 1 reply; 10+ messages in thread
From: Benjamin Herrenschmidt @ 2010-09-17  0:03 UTC (permalink / raw)
  To: Chris Friesen; +Cc: Chris Friesen, Scott Wood, paulus, timur, linuxppc-dev

On Thu, 2010-09-16 at 16:26 -0600, Chris Friesen wrote:
> > Sounds like a candidate for upstreaming the patch :-)
> 
> As I recall we proposed upstreaming it a while back but there wasn't a
> lot of interest since it's most useful in supporting poorly-written
> legacy apps. :) 

Heh. Well as long as only 970 had that bit ... but with e5500 coming up
with that too, I suppose it makes -some- sense. Let's at least look at
the approach you took and we can decide based on how invasive/ugly it
is :-)

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-17  0:03         ` Benjamin Herrenschmidt
@ 2010-09-17  5:17           ` Kumar Gala
  2010-09-17  5:33             ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 10+ messages in thread
From: Kumar Gala @ 2010-09-17  5:17 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev, Chris Friesen, paulus, Scott Wood, timur


On Sep 16, 2010, at 7:03 PM, Benjamin Herrenschmidt wrote:

> On Thu, 2010-09-16 at 16:26 -0600, Chris Friesen wrote:
>>> Sounds like a candidate for upstreaming the patch :-)
>>=20
>> As I recall we proposed upstreaming it a while back but there wasn't =
a
>> lot of interest since it's most useful in supporting poorly-written
>> legacy apps. :)=20
>=20
> Heh. Well as long as only 970 had that bit ... but with e5500 coming =
up
> with that too, I suppose it makes -some- sense. Let's at least look at
> the approach you took and we can decide based on how invasive/ugly it
> is :-)

Not sure how the 970 bit worked, but this seems a bit problematic for =
switching between kernel and application for how we do this on =
e500mc/e5500.  We'd have to touch the control bit on every exception =
path which seems ugly to me.

- k=

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-17  5:17           ` Kumar Gala
@ 2010-09-17  5:33             ` Benjamin Herrenschmidt
  2010-09-17  6:36               ` Chris Friesen
  0 siblings, 1 reply; 10+ messages in thread
From: Benjamin Herrenschmidt @ 2010-09-17  5:33 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, Chris Friesen, paulus, Scott Wood, timur

On Fri, 2010-09-17 at 00:17 -0500, Kumar Gala wrote:
> Not sure how the 970 bit worked, but this seems a bit problematic for
> switching between kernel and application for how we do this on
> e500mc/e5500.  We'd have to touch the control bit on every exception
> path which seems ugly to me.

Unless the kernel uses dcbzl (feature fixup replacement ?)

In that case it's on context switch only.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-17  5:33             ` Benjamin Herrenschmidt
@ 2010-09-17  6:36               ` Chris Friesen
  2010-09-17  7:39                 ` Kumar Gala
  0 siblings, 1 reply; 10+ messages in thread
From: Chris Friesen @ 2010-09-17  6:36 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, paulus, Scott Wood, timur

On 09/16/2010 11:33 PM, Benjamin Herrenschmidt wrote:
> On Fri, 2010-09-17 at 00:17 -0500, Kumar Gala wrote:
>> Not sure how the 970 bit worked, but this seems a bit problematic for
>> switching between kernel and application for how we do this on
>> e500mc/e5500.  We'd have to touch the control bit on every exception
>> path which seems ugly to me.
> 
> Unless the kernel uses dcbzl (feature fixup replacement ?)
> 
> In that case it's on context switch only.

This is basically what we did.  Kernel and system libraries (glibc and
friends) always use dcbzl, process flag indicates compatibility, touch
the control bit on task context switch if the prev and next processes
have different compatibility modes.

On the 970 you have to invalidate the entire icache whenever you change
the control bit.  This is a pain involving a loop that calls icbi on 512
cachelines.

Chris

-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux support for freescale e5500 core?
  2010-09-17  6:36               ` Chris Friesen
@ 2010-09-17  7:39                 ` Kumar Gala
  0 siblings, 0 replies; 10+ messages in thread
From: Kumar Gala @ 2010-09-17  7:39 UTC (permalink / raw)
  To: Chris Friesen; +Cc: linuxppc-dev, paulus, Scott Wood, timur


On Sep 17, 2010, at 1:36 AM, Chris Friesen wrote:

> On 09/16/2010 11:33 PM, Benjamin Herrenschmidt wrote:
>> On Fri, 2010-09-17 at 00:17 -0500, Kumar Gala wrote:
>>> Not sure how the 970 bit worked, but this seems a bit problematic =
for
>>> switching between kernel and application for how we do this on
>>> e500mc/e5500.  We'd have to touch the control bit on every exception
>>> path which seems ugly to me.
>>=20
>> Unless the kernel uses dcbzl (feature fixup replacement ?)
>>=20
>> In that case it's on context switch only.
>=20
> This is basically what we did.  Kernel and system libraries (glibc and
> friends) always use dcbzl, process flag indicates compatibility, touch
> the control bit on task context switch if the prev and next processes
> have different compatibility modes.
>=20
> On the 970 you have to invalidate the entire icache whenever you =
change
> the control bit.  This is a pain involving a loop that calls icbi on =
512
> cachelines.

I'm pretty sure on e500mc / e5500 you only need proper sync/isync/msync =
after the change in the control register.

- k=

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-09-17  7:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-16 20:06 linux support for freescale e5500 core? Chris Friesen
2010-09-16 21:39 ` Scott Wood
2010-09-16 21:44   ` Chris Friesen
2010-09-16 22:03     ` Benjamin Herrenschmidt
2010-09-16 22:26       ` Chris Friesen
2010-09-17  0:03         ` Benjamin Herrenschmidt
2010-09-17  5:17           ` Kumar Gala
2010-09-17  5:33             ` Benjamin Herrenschmidt
2010-09-17  6:36               ` Chris Friesen
2010-09-17  7:39                 ` Kumar Gala

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.