All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] user mode vs. kernel module
@ 2006-03-10  8:52 Ignacio García Pérez
  2006-03-12 11:18 ` Philippe Gerum
  0 siblings, 1 reply; 4+ messages in thread
From: Ignacio García Pérez @ 2006-03-10  8:52 UTC (permalink / raw)
  To: xenomai

Hi,

So far I've had my application implemented entirely as a kernel module 
with some user mode helper programs. I've had in mind changing to user 
mode but never felt compelled enough.

Now, having a new requirement to implement, I think it's the moment to 
give it a try, and I'm porting it. I have a couple of questions:

1- How significative, in real world terms, is the overhead involved in 
operaing in user mode?. As far as I know all operations are executed via 
"pods" which involve one or more system calls and context switches. I'm 
using a Geode board right now but there are plans to move to a more 
low-end platform (486).

2- ioperm. This is a true headache. I've spent countless hours debugging 
this and banging my head agaist the wall. I'm not 100% sure of what's 
going on here, but it looks like the ioperm call must be issued from 
primary mode if you are doing the I/O from primary mode. Something like 
this would segfault:

ioperm(0x443, 0x01, 1);
rt_mutex_lock(...)
outb(0x01, 0x443)

While this works fine:

rt_mutex_lock(...)
ioperm(0x443, 0x01, 1);
outb(0x01, 0x443);

While leads me to think that the rt_mutex_lock puts the task in primary 
mode and then both ioperm and outb are executed in the same mode so 
everything works.

Is this right?. If so, I find this extremely inconvenient...

Nacho.






^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-03-14  9:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-10  8:52 [Xenomai-help] user mode vs. kernel module Ignacio García Pérez
2006-03-12 11:18 ` Philippe Gerum
2006-03-12 17:09   ` Philippe Gerum
2006-03-14  9:10   ` Ignacio García Pérez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.