* Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 14:02 Absolut Hunter
2005-07-11 14:39 ` Michael Richardson
0 siblings, 1 reply; 8+ messages in thread
From: Absolut Hunter @ 2005-07-11 14:02 UTC (permalink / raw)
To: linuxppc-embedded
A useful piece to this might be that I am attempting to map these two memory
regions contiguously, so that Linux doesn't see any memory holes.
0-2MB SRAM
2MB-34MB SDRAM
I would be open to any other ways that SRAM / SDRAM might be mapped to work,
and still provide a performance increase for the kernel.
-Russell
-----Original Message-----
From: Absolut Hunter [mailto:absoluthunter@comcast.net]
Sent: Monday, July 11, 2005 6:38 AM
To: 'linuxppc-embedded@ozlabs.org'
Subject: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
Anybody,
I ran into a peculiar issue, though it could be user error.
I am using U-boot to configure up the SDRAM and SRAM in our system before we
launch Linux. We have 32 Mb of SDRAM and 2 MB of SRAM in the system.
If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
0x00000000, like U-boot defaults to Linux works great. However, my goal is
to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
table, so I can achieve a very fast interrupt response time.
I hacked U-boot a little bit to remap these addresses, after all the init
code was finished. U-boot relocates itself to higher memory, i.e. the last
2MB's of SDRAM and all is well within U-boot. I ran a 14 hour test on the
memory area to proof it. Now we have 0x02200000 <34M> memory size being
reported to Linux, in the bd->memsize. However, now Linux crashes randomly
all over the place, mostly sig11's task: swapper. I know this is not an
issue with SDRAM stability, and I can't imagine SRAM having problems seeing
as its 8ns capable and we're running at 15ns at the moment (66mhz).
Linux reports BAT mappings as BAT2=32Mb, BAT3=2MB when all 34 Megs are
presented via U-boot.
Does anyone have any idea what would cause this instability? Physically all
memory seems to be great if used by itself. I know very little about how
Linux manages its pages, BATS, TBLs, etc... Are the limits on odd memory
sizes? Or certain configurations that it expects to see?
Thanks in advance.
-Russell McGuire
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
2005-07-11 14:02 Linux 2.4.25 / MPC8280 / ram config vs Linux instability? Absolut Hunter
@ 2005-07-11 14:39 ` Michael Richardson
0 siblings, 0 replies; 8+ messages in thread
From: Michael Richardson @ 2005-07-11 14:39 UTC (permalink / raw)
To: Absolut Hunter; +Cc: linuxppc-embedded
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "Absolut" == Absolut Hunter <absoluthunter@comcast.net> writes:
Absolut> A useful piece to this might be that I am attempting to map
Absolut> these two memory regions contiguously, so that Linux
Absolut> doesn't see any memory holes.
Absolut> 0-2MB SRAM 2MB-34MB SDRAM
Likely you can't do that, because you must map the blocks at a
multiple of their address. (I'm not an expert at PPC mappings, but this
is typically the case)
So you can do:
0x000000000 SRAM (has a hole from 2MB->32Mb)
0x002000000 SDRAM
or:
0x000000000 SDRAM
0x002000000 SRAM
Absolut> I would be open to any other ways that SRAM / SDRAM might
Absolut> be mapped to work, and still provide a performance increase
Absolut> for the kernel.
I think that you would be better to lock the relevant interrupt code
into the cache, if that is possible.
- --
] Michael Richardson Xelerance Corporation, Ottawa, ON | firewalls [
] mcr @ xelerance.com Now doing IPsec training, see |net architect[
] http://www.sandelman.ca/mcr/ www.xelerance.com/training/ |device driver[
] I'm a dad: http://www.sandelman.ca/lrmr/ [
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Finger me for keys
iQCVAwUBQtKEkYqHRg3pndX9AQFm6wP8C6xu9Wwbbv/eCr3UaZDcn4mEx35F28s1
eAdYxTqKREhewSJZH1QGn2QGBXxHKMlnBWttgmSYb814aXDeEzEKm3pLg45cB9nj
kU49kcDuyJ8Ug62/dFg9iZn4udfuJJHeaDNGITEwj2ov0RCENdJLsnCO33tZOjEs
Mz9qUutzG4g=
=DGvh
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 13:59 Steven Blakeslee
0 siblings, 0 replies; 8+ messages in thread
From: Steven Blakeslee @ 2005-07-11 13:59 UTC (permalink / raw)
To: Absolut Hunter, linuxppc-embedded
> I am using U-boot to configure up the SDRAM and SRAM in our=20
> system before we launch Linux. We have 32 Mb of SDRAM and 2=20
> MB of SRAM in the system.=20
>=20
When I was working on an 8260 a while back I had to map PSDRAM at
address 0x00000000 and LSDRAM starting at the PSDRAM's end. I found
that when I made the PSDRAM smaller than the LSDRAM then the LSDRAM was
not mapped properly. This was due to the fact that the start address
for the memory bank needed to be a multiple of the bank size. If the
LSDRAM was 32Meg then the start address of the bank needed to be on a
32Meg boundary.
I am not sure but if you are mapping a 2Meg SRAM at 0x00000000 followed
by a 32Meg SDRAM then the SDRAM is not on a 32Meg boundary. This may
not be your issue but it may be worth looking in to.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
@ 2005-07-11 13:38 Absolut Hunter
2005-07-11 14:01 ` Michael Richardson
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Absolut Hunter @ 2005-07-11 13:38 UTC (permalink / raw)
To: linuxppc-embedded
Anybody,
I ran into a peculiar issue, though it could be user error.
I am using U-boot to configure up the SDRAM and SRAM in our system before we
launch Linux. We have 32 Mb of SDRAM and 2 MB of SRAM in the system.
If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
0x00000000, like U-boot defaults to Linux works great. However, my goal is
to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
table, so I can achieve a very fast interrupt response time.
I hacked U-boot a little bit to remap these addresses, after all the init
code was finished. U-boot relocates itself to higher memory, i.e. the last
2MB's of SDRAM and all is well within U-boot. I ran a 14 hour test on the
memory area to proof it. Now we have 0x02200000 <34M> memory size being
reported to Linux, in the bd->memsize. However, now Linux crashes randomly
all over the place, mostly sig11's task: swapper. I know this is not an
issue with SDRAM stability, and I can't imagine SRAM having problems seeing
as its 8ns capable and we're running at 15ns at the moment (66mhz).
Linux reports BAT mappings as BAT2=32Mb, BAT3=2MB when all 34 Megs are
presented via U-boot.
Does anyone have any idea what would cause this instability? Physically all
memory seems to be great if used by itself. I know very little about how
Linux manages its pages, BATS, TBLs, etc... Are the limits on odd memory
sizes? Or certain configurations that it expects to see?
Thanks in advance.
-Russell McGuire
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
2005-07-11 13:38 Absolut Hunter
@ 2005-07-11 14:01 ` Michael Richardson
2005-07-11 14:03 ` Mark Chambers
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Michael Richardson @ 2005-07-11 14:01 UTC (permalink / raw)
To: Absolut Hunter; +Cc: linuxppc-embedded
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "Absolut" == Absolut Hunter <absoluthunter@comcast.net> writes:
Absolut> If I leave the SRAM mapped at higher addresses 0x10000000
Absolut> and SDRAM at 0x00000000, like U-boot defaults to Linux
Absolut> works great. However, my goal is to map SRAM <8ns speeds>
Absolut> down to the address 0x00000000, to map the vector table, so
Absolut> I can achieve a very fast interrupt response time.
Are you mapping the SRAM *OVER* the lower 2MB of address space?
If so, then you won't have 34Mb of ram, you'll have 32Mb, and Linux
may well be running off the end under stress.
My memory is that you can move the vector table to another address.
Wouldn't that be easier?
- --
] Michael Richardson Xelerance Corporation, Ottawa, ON | firewalls [
] mcr @ xelerance.com Now doing IPsec training, see |net architect[
] http://www.sandelman.ca/mcr/ www.xelerance.com/training/ |device driver[
] I'm a dad: http://www.sandelman.ca/lrmr/ [
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Finger me for keys
iQCVAwUBQtJ7yoqHRg3pndX9AQF+eQQA0QBhaZAjq3vDQm8glqV0j+jmzO9+7U0m
aZvOt5FsXu2mv3lS/2FySIQf3UuRcl0lIR5zaNfyn+I11K0YlfZvXgY97U2TMcmu
1K5sod0j3DpaIrK/a+VyWa+tQFe9zoPktazinVoQm4+geNRlTZf9P5XyYwXE7knn
+TOTFRzLq7c=
=iPOS
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
2005-07-11 13:38 Absolut Hunter
2005-07-11 14:01 ` Michael Richardson
@ 2005-07-11 14:03 ` Mark Chambers
2005-07-11 14:22 ` Wolfgang Denk
2005-07-11 18:39 ` Dan Malek
3 siblings, 0 replies; 8+ messages in thread
From: Mark Chambers @ 2005-07-11 14:03 UTC (permalink / raw)
To: Absolut Hunter, linuxppc-embedded
> I am using U-boot to configure up the SDRAM and SRAM in our system before
we
> launch Linux. We have 32 Mb of SDRAM and 2 MB of SRAM in the system.
>
> If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
> 0x00000000, like U-boot defaults to Linux works great. However, my goal is
> to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
> table, so I can achieve a very fast interrupt response time.
>
Your core is probably running at about 400MHz, so 66MHz SRAM is still slow.
This is what cache is for. Maybe you should look into locking interrupt
code in
cache. Probably, however, you will find that messing with the overall
optimizations
of the kernel will be a net slowdown.
Mark Chambers
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
2005-07-11 13:38 Absolut Hunter
2005-07-11 14:01 ` Michael Richardson
2005-07-11 14:03 ` Mark Chambers
@ 2005-07-11 14:22 ` Wolfgang Denk
2005-07-11 18:39 ` Dan Malek
3 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 2005-07-11 14:22 UTC (permalink / raw)
To: Absolut Hunter; +Cc: linuxppc-embedded
In message <20050711134713.D767067C13@ozlabs.org> you wrote:
>
> If I leave the SRAM mapped at higher addresses 0x10000000 and SDRAM at
> 0x00000000, like U-boot defaults to Linux works great. However, my goal is
> to map SRAM <8ns speeds> down to the address 0x00000000, to map the vector
> table, so I can achieve a very fast interrupt response time.
How fast is your bus? 8 ns is not exactly very fast.
> I hacked U-boot a little bit to remap these addresses, after all the init
Hacked? No hack at all should have been necessary. This is standard
configuration stuff.
> reported to Linux, in the bd->memsize. However, now Linux crashes randomly
> all over the place, mostly sig11's task: swapper. I know this is not an
SO one or your memory banks does not work reliably.
> issue with SDRAM stability, and I can't imagine SRAM having problems seeing
> as its 8ns capable and we're running at 15ns at the moment (66mhz).
And what about the state of your hardware? Did you check the signals,
especially when the CPU is stressing the bus in burst mode?
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Let the programmers be many and the managers few -- then all will be
productive. -- Geoffrey James, "The Tao of Programming"
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux 2.4.25 / MPC8280 / ram config vs Linux instability?
2005-07-11 13:38 Absolut Hunter
` (2 preceding siblings ...)
2005-07-11 14:22 ` Wolfgang Denk
@ 2005-07-11 18:39 ` Dan Malek
3 siblings, 0 replies; 8+ messages in thread
From: Dan Malek @ 2005-07-11 18:39 UTC (permalink / raw)
To: Absolut Hunter; +Cc: linuxppc-embedded
On Jul 11, 2005, at 6:38 AM, Absolut Hunter wrote:
> ..... However, my goal is
> to map SRAM <8ns speeds> down to the address 0x00000000, to map the
> vector
> table, so I can achieve a very fast interrupt response time.
The things Linux does to cause interrupt latencies are going to ensure
you aren't going to see any differences to the "interrupt response
time." :-)
From a system perspective, you are going to be much better off using
your SRAM for CPM data buffering than for any general software use.
> Does anyone have any idea what would cause this instability?
Yeah, I can't find a way to actually map the memory as you have
described. You actually have the SRAM and SDRAM multiply mapped
on top of one another, and depending upon which chip selects
are used and the values in their registers, you are selecting between
the two memories. Several cases exist. You are either mapping the
SRAM on top of the SDRAM, or vice versa. You really have only 32M
of memory available, so any access to the "upper" 2M is wrapping
around to the lower memory. Basically, you have a big mess ;-)
You need to map these memories to modulo their size, so to put
the 2M at low memory, you are going to have a hole up to a 32M
boundary before you can map the SDRAM. It's possible to do
this, but not without some custom Linux modifications.
Thanks.
-- Dan
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-07-11 18:39 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-11 14:02 Linux 2.4.25 / MPC8280 / ram config vs Linux instability? Absolut Hunter
2005-07-11 14:39 ` Michael Richardson
-- strict thread matches above, loose matches on Subject: below --
2005-07-11 13:59 Steven Blakeslee
2005-07-11 13:38 Absolut Hunter
2005-07-11 14:01 ` Michael Richardson
2005-07-11 14:03 ` Mark Chambers
2005-07-11 14:22 ` Wolfgang Denk
2005-07-11 18:39 ` Dan Malek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).