[cgl_discussion] New AEM architecture (Re: PoC 5/1 conference call minutes)
Frederic Rossi (LMC)
Frederic.Rossi at ericsson.ca
Fri May 2 05:43:09 PDT 2003
Steven Dake wrote:
> * AEM
> OSDL comments:
> Good idea, but implementation will not fly in mainstream kernel. Too
> invasive into scheduler.
> Recommendation is to keep project and try to improve from member
> companies as possible.
> Need input from distributors to determine if OSDL should apply
> resources to work on AEM project. What is needed to make it acceptable
> to maintainers?
> cgl_discussion mailing list
> cgl_discussion at lists.osdl.org
This email is just to keep you informed that I have re-designed the AEM
architecture. Almost 75% of the code previously in the patch in now
located in different modules. The organization is now like this:
- A basic patch for the kernel implementing base functionalities
of AEM (wake queues for events and so on, ...).
- A main core module providing AEM base mechanisms,
- Some independent modules implementing async. events for
whatever is needed. For example presently I have two modules called
aem-ip and aem-timers.
The way it works is, you load the core module and then you load the
other modules providing async. events for what you need. These are
independent and can be loaded (or not) in whatever order (the number of
total system calls has been reduced to 5. The core modules implements
'kind-of' dynamic pseudo-system calls, which are registered when other
modules are loaded).
if OSDL, Ericsson or others need different async. functionalities, they
can implement them independently. Practically, each node can be loaded
with different modules. Modules can be changed at run-time without
rebooting the system, and so on....
Extensible: Need new async. event for some new kernel functionalities?
Just do the module for it.
The kernel patch has been reduced a lot. It could probably be reduced a
bit more. You can download a preliminary version at
http://sf.net/projects/aem/ and send me your feedbacks on this.
Note that in this version there is a module called aem-sched which
implements the modification to the Linux scheduler. This module is
absolutely optional and not required to make AEM works. But due to
comments I had on this part of AEM, I will remove this module and the
support provided by the patch in the next release.
Your comments are appreciated,
More information about the cgl_discussion