Quick Performance Improvment: ColdFire Linux and ucLinux (MMU-less) users take Note.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Quick Performance Improvment: ColdFire Linux and ucLinux (MMU-less) users take Note.

2,051 Views
JWW
Contributor V
ALL:
 
I have some interesting news.  We have found that a simple change in how to build the kernel provides a significant improvement in performance in our BSPs.  This change will be reflected in our future BSP releases, but I wanted to go ahead and get this out to the community as many of you may have seen performance problems and have asked for assistance.    This change has NOT been verified on all kernels and all BSPs, but it should be useful for evaluation and may work just fine for the majority of you.
 
We welcome the feedback if you do try this new option.  As many of the linux developers we have do monitor this forum, your feedback and comments will be well received.
 
Build Option Comments Below:

Network Performance Update for uClinux/Linux Coldfire Platforms.
 
During an investigation of network performance on a Coldfire
Linux platforms it was determined that a substantial increase
could be achieved by changing the kernel memory allocator.
Currently Coldfire BSPs ship with the SLAB memory allocator
configured by default.  Changing this to the SLUB memory
allocator resulted in better network performance.
Switching from the SLAB memory allocator to the SLUB allocator
is straight forward using LTIB.
* Configure LTIB:
  % ./ltib -c
 
* Select the option to configure the kernel:
  [*] Configure the kernel
 
* Exit and Save the configuration
 
* The kernel configuration page will be displayed.
 
* Configure the slab allocator:
  General setup  --->
    Choose SLAB allocator (xyz)  --->
       ( ) SLAB
       (X) SLUB (Unqueued Allocator)
 
* Exit and the kernel will be rebuilt using the SLUB allocator.
(Please note that an unexpected error occurred with the
 modprobe utility on the V2/V3 platforms.  This problem
 will need to be investigated.)
 

 

JWW

Labels (1)
0 Kudos
3 Replies

275 Views
jpa
Contributor IV
FWIW, when I try this configuration on the latest uClinux release 20080808 (for M5272C3, romfs), during startup I get "unable to allocate RAM for process data, errno 12" and the kernel panics.

SLAB works, but the processing of network packets is very jittery.  

At one point, I had mangled the 2006 LTIB for the 5329EVB to compile for the 5272C3 and none of this was a problem...with SLAB turned on, processing of network packets was very repeatable.  I had all sorts of other problems, but not this particular one. 

jpa
0 Kudos

275 Views
JimDon
Senior Contributor III
Have you applied patches to 0808?
There is an 0811 and a 0922.


http://sourceforge.net/project/uclinux
0 Kudos

275 Views
jpa
Contributor IV
Jim,

I hadn't, but I'm working on it now.  Thanks! 

For those that follow, I think there's an 's' missing in the link, should be

http://sourceforge.net/projects/uclinux

<newbie alert>
From a bit of reading, and trial-and-error, it seems like
patch -p1 < patchname
from within uClinux-dist is the way to apply these, and only the latest patch is necessary to bring it to that state, yes?  Or do I need some other options, and should apply both patches.  Lots of error messages when I try to apply both. 

At the moment, I'm getting the latest tools from CodeSourcery, having noticed a warning about using a 4.1 gcc with the kernel. 

jpa
0 Kudos