Hi all,

I have now identified the issue and provided a workaround.
I am using a kernel module as a hardware driver.
The kernel module was originally designed for standard linux and I modified it 
only slightly to 
have Xenomai support.
For configuring the driver, a /dev/xxx character file is provided.

When this file is opened (which lead to the module's open that is registered 
via register_chrdev)
an interrupt routine is registered.
I do here a rt_intr_create() followed by a rt_intr_enable().
When the /dev/xxx file is closed, the module's release function is called.
This function calls rt_intr_disable() and rt_intr_delete() to stop using the 
interrupt.

This looks very fine, however it seems to cause problems.
Having this situation, I get the kernel "cannot allocate memory" message.

I did a restructuring of the kernel module to disable the interrupt routine and 
to
delete the interrupt object not with the release() function but within
cleanup_module(). And this works now perfect.

I do not understand the reason for this but now it is working.

Thanks for all the hints on that issue.

Regards


Mathias

----- Original Nachricht ----
Von:     "M. Koehrer" <[EMAIL PROTECTED]>
An:      [EMAIL PROTECTED],[EMAIL PROTECTED]
Datum:   02.02.2007 11:16
Betreff: Re: Re: [Xenomai-help] Error: cat: /proc/xenomai/stat: Cannot
 allocate

> Hi!
> 
> I have one kernel module for a special driver running.
> If I do not load this kernel module, everything seems to work fine.
> That means, this kernel module is probably causing the issue...
> I have to look closer to it...
> Sorry for any confusion!
> 
> Regards
> 
> Mathias 
> 
> 
> > On Fri, 2007-02-02 at 10:33 +0100, Philippe Gerum wrote:
> > > On Fri, 2007-02-02 at 09:43 +0100, M. Koehrer wrote:
> > > > Hi everybody,
> > > > 
> > > > I have a strange issue frequently when reading /proc/xenomai/stat.
> > > > I do a cat /proc/xenomai/stat and I get an "Cannot allocate memory"
> > error.
> > > > This happens typcially after I have started and terminated by
> > application that uses a number of tasks.
> > > > I am able to reproduce it deterministically...
> > > > While the application is running, I can see the stat values
> perfectly.
> > > > Here is the head output of all /proc/xenomai/* files:
> > > 
> > > At first sight looking at the code, there seems to be a memory leak
> > > caused by an unfree kmalloc() block in the sched & stat sequence
> > > routines. Will confirm and fix. Thanks,
> > > 
> > 
> > Not confirmed for the leakage part regarding kmalloc(). We do have a
> > seq_release_private() freeing the allocated block, so back to square #1.
> > This said, some kernel memory is not released somewhere, as running
> > vmstat tells me here.
> > 
> > Btw, is the rest of your system functional after the error occurs, or is
> > a reboot needed afterwise?
> > 
> > -- 
> > Philippe.
> > 
> > 
> > 
> 
> -- 
> Mathias Koehrer
> [EMAIL PROTECTED]
> 
> 
> Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
> ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig
> und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer,
> nur  44,85 €  inkl. DSL- und ISDN-Grundgebühr!
> http://www.arcor.de/rd/emf-dsl-2
> 

-- 
Mathias Koehrer
[EMAIL PROTECTED]


Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig
und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer,
nur  44,85 €  inkl. DSL- und ISDN-Grundgebühr!
http://www.arcor.de/rd/emf-dsl-2

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to