All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] rtdm_mmap_to_user without MMU
@ 2009-07-14 19:14 Waschk,Kolja
  2009-07-15  7:44 ` Jan Kiszka
  0 siblings, 1 reply; 9+ messages in thread
From: Waschk,Kolja @ 2009-07-14 19:14 UTC (permalink / raw)
  To: xenomai

Hi,

I'm starting to develop a RTDM driver to be used in uClinux on a Blackfin-based
device. Its main task is to receive lots of framed data (30 MBit/s) and pass
them to an application in user space, retaining the framing info. A major
concern is the performance. I'd like to avoid copying, so I looked into using
rtdm_mmap_to_user(). It seems to use the mmap op of /dev/zero, which is "return
ENOSYS"(*) in drivers/char/mem.c on systems without a MMU. In other words, it
doesn't seem to be usable in uClinux. Well, I could just forget about mmap,
there is no MMU and thus my user code can access the data anyway. But what'd be
the proper way to cope with this? I'd really like to code it so it would work
on a system with MMU as well (maybe in next year's project...)

Probably I'll move a bit more of the user space code (the decoding of the frame
into a larger structure) into the driver, turning the "copying" into
"decoding", which has to be done anyway. But ideally the kernel part should
be kept as simple as possible.

Kolja

(*) I might have missed something between, because the actual error code is ENODEV







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

end of thread, other threads:[~2009-08-04  7:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-14 19:14 [Xenomai-help] rtdm_mmap_to_user without MMU Waschk,Kolja
2009-07-15  7:44 ` Jan Kiszka
2009-07-15 10:24   ` Kolja Waschk
2009-07-15 14:35     ` Kolja Waschk
2009-07-16 21:41       ` Jan Kiszka
2009-07-17  9:59         ` Kolja Waschk
2009-07-17 11:50         ` Kolja Waschk
2009-07-18  8:00           ` Jan Kiszka
2009-08-04  7:21             ` Kolja Waschk

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.