[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Execute-in-Place (XIP) from flash?



We have been running 2.4.26 (and even 2.4.27) internally for a while
and it works at least as good as 2.4.22.

Most important changes:

Fixed an information leakage bug in the ethernet driver
IDE driver updated to work for >= 2.4.21
No more garabage when printing lots of debug from kernel
Add support for isoc out in USB driver

/Mikael

-----Original Message-----
From: Fettahlioglu, Mahmut [mailto:Mahmut.Fettahlioglu@xxxxxxx.au] 
Sent: Thursday, September 23, 2004 10:07 AM
To: Mikael Starvik
Cc: dev-etrax
Subject: RE: Execute-in-Place (XIP) from flash?


Thanks again Mikael. 

I have asked this to the list before, but maybe I didn't put in down
very
clearly. I was asked to see if it is justifiable to move to 2.4.26 for
our
Etrax systems.

Is there a release notes or something similar that shows what the
differences (if any) are between Axis driver patches you have for 2.4.22
and
2.4.26? If no bugs that are relevant to us have been fixed in the new
patch
file, we will probably not make the move.

Thanks
Mahmut


> -----Original Message-----
> From: Mikael Starvik [mailto:mikael.starvik@xxxxxxx.com]
> Sent: Thursday, 23 September 2004 5:12 PM
> To: 'Fettahlioglu, Mahmut'; dev-etrax
> Subject: RE: Execute-in-Place (XIP) from flash?
> 
> Hi!
> 
> It is quite common to believe that swapping and pageing is the same
> thing but it's not. You can never page out modified data and you
> never need to swap out read-only data. So your conclussion is
> correct that the benefit from a XIP solution would be low (except
> from a performance view maybe).
> 
> /Mikael
> 
> -----Original Message-----
> From: owner-dev-etrax@xxxxxxx.com">mailto:owner-dev-etrax@xxxxxxx.com] On
Behalf
> Of Fettahlioglu, Mahmut
> Sent: Thursday, September 23, 2004 3:47 AM
> To: dev-etrax
> Subject: RE: Execute-in-Place (XIP) from flash?
> 
> 
> Hi Mikael,
> 
> I have been investigating this XIP option to see if it is a cheap and
easy
> way to cut down our memory usage. I was assuming the kernel would load
the
> entire binary and associated .so files to the RAM and execute them
from
> there. We have a system that currently needs a number of processes to
run
> concurrently, and any saving on RAM is welcome.
> 
> We do not have a swap partition, so I was thinking process code
segment
> would never be swapped out. A google search confirmed Linux will
discard
> and
> read back from disk such text and data segments as you have said, so
there
> is probably not much point in going XIP. The only gain would be the
kernel
> code segment could have been made to execute directly from flash, but
this
> is not required for us - 500k or so for the kernel is not an issue,
and
> not
> to be able to reprogram the flash when kernel is running is much worse
> than
> saving this much ram.
> 
> Thanks for clarifying this.
> 
> Mahmut
> 
> > -----Original Message-----
> > From: Mikael Starvik [mailto:mikael.starvik@xxxxxxx.com]
> > Sent: Tuesday, 21 September 2004 3:45 PM
> > To: Fettahlioglu, Mahmut; Jonas Holmberg
> > Cc: dev-etrax
> > Subject: RE: Execute-in-Place (XIP) from flash?
> >
> > That is correct but I can't really see the point. Linux will page
> > in pieces of the executable form flash to the page cache when a
> > program is executed. If memory is low the program will be paged
> > back to flash (except for dirty pages of cours).
> >
> > So for me there is two questions:
> >
> > 1. How are you going to tell the kernel that it should use XIP?
> > 2. How will you benefit from it? One answer may be that you want
> > to avoid pageing in and out for performance reasons.
> >
> > Even if you manage to do true XIP you will still have all the
> > writable segments of the applications in RAM.
> >
> > Can you tell us more why you have so little RAM left but so
> > much flash?
> >
> > /Mikael
> >
> > -----Original Message-----
> > From: owner-dev-etrax@xxxxxxx.com">mailto:owner-dev-etrax@xxxxxxx.com] On
> > Behalf Of Fettahlioglu, Mahmut
> > Sent: Tuesday, September 21, 2004 3:56 AM
> > To: Jonas Holmberg
> > Cc: dev-etrax
> > Subject: RE: Execute-in-Place (XIP) from flash?
> >
> >
> > Thanks for the info Jonas.
> >
> > It looks like the only chip available for this project will be the
> > internal
> > flash. It will be alright to use it entirely as read-only. As long
as I
> > guarantee XIP processes do not run during FTP flash reprogramming it
> > should
> > work fine then?
> >
> > Thanks,
> > Mahmut
> >
> > > -----Original Message-----
> > > From: Jonas Holmberg [mailto:jonas.holmberg@xxxxxxx.com]
> > > Sent: Monday, 20 September 2004 5:38 PM
> > > To: Fettahlioglu, Mahmut
> > > Cc: ETRAX development list
> > > Subject: Re: Execute-in-Place (XIP) from flash?
> > >
> > > On Mon, Sep 20, 2004 at 01:56:45PM +1000, Fettahlioglu, Mahmut
wrote:
> > > > Hi all,
> > > >
> > > > I was wondering if there is a way I can use execute-in-place
with
> > > MCM4+16
> > > > chips to save runtime memory. The options seem to be:
> > > >
> > > > - Use the internal flash "/etc" partition. This would involve
> > formatting
> > > the
> > > > JFFS2 partition with something else e.g. FAT as JFFS2 uses
> > compression.
> > > >
> > > > - Use an external USB flash ad run the software from there
> > > >
> > > > Do you think there are some limitations that prevent one or both
of
> > > these
> > > > options? And if it can be done, do I need to change something in
the
> > > kernel
> > > > for this?
> > > >
> > > > Any feedback welcome. Thanks to all,
> > >
> > > To be able to write to flash and do XIP at the same time you need
more
> > > than one chip. You must never write or erase the chip you execute
code
> > > from.
> > >
> > > /Jonas