All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] Announcement Realtime USB Stack
@ 2006-08-11  7:50 Harkema, G.A.
  2006-08-11  9:20 ` Jan Kiszka
  2006-08-11 10:08 ` Wolfgang Grandegger
  0 siblings, 2 replies; 3+ messages in thread
From: Harkema, G.A. @ 2006-08-11  7:50 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 370 bytes --]

Hello,

 

We are glad to present our new realtime USB stack based on Xenomai
2.2.0. You can find it at https://gna.org/projects/usb20rt/ as a
downloadable file and svn.

It is not bug free, but it's a start. Please try the core and feel free
to make comments.

 

Kind Regards,

 

Gerard

 

P Before you print think about the ENVIRONMENT

 


[-- Attachment #2: Type: text/html, Size: 3569 bytes --]

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

* Re: [Xenomai-core] Announcement Realtime USB Stack
  2006-08-11  7:50 [Xenomai-core] Announcement Realtime USB Stack Harkema, G.A.
@ 2006-08-11  9:20 ` Jan Kiszka
  2006-08-11 10:08 ` Wolfgang Grandegger
  1 sibling, 0 replies; 3+ messages in thread
From: Jan Kiszka @ 2006-08-11  9:20 UTC (permalink / raw)
  To: Harkema, G.A.; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]

Harkema, G.A. wrote:
> Hello,
> 
>  
> 
> We are glad to present our new realtime USB stack based on Xenomai
> 2.2.0. You can find it at https://gna.org/projects/usb20rt/ as a
> downloadable file and svn.
> 
> It is not bug free, but it's a start. Please try the core and feel free
> to make comments.
> 

Porting the Linux USB stack over was certainly a lot of work. Could you
elaborate a bit on the design principles?

I saw e.g. that you preallocate one USB per endpoint, correct? Is there
a chance to add more pending URBs? Looks to me like a network driver
that is prepared to receive a single frame and than first requires the
application to read out the data. But I might be wrong here.

How do you manage transfer descriptors? Are they preallocated as well?

Some remarks on the code after a first glance:

 o rthal_spinlock shouldn't be used in a RTDM driver, pick rtdm_lock
   instead.
 o At least in the EHCI code there is still a Linux timer in use from
   RTDM IRQ context (mod_timer in rtdm_ehci_irq). This will blow your
   box sooner or later.
 o The skeleton driver registers its read handler also for non-rt usage.
   If you don't do this, you could drop that context check in
   rtdm_skeleton_read, and you will gain auto-context-switching for the
   caller as well.

This is certainly a pragmatic approach to gain USB 2.0 support over
RTDM. But I would recommend you to carefully review all time-critical
code paths (URB reception and transmission) with all its corner cases
and dependencies (via spinlocks) to check for their RT-safeness.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

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

* Re: [Xenomai-core] Announcement Realtime USB Stack
  2006-08-11  7:50 [Xenomai-core] Announcement Realtime USB Stack Harkema, G.A.
  2006-08-11  9:20 ` Jan Kiszka
@ 2006-08-11 10:08 ` Wolfgang Grandegger
  1 sibling, 0 replies; 3+ messages in thread
From: Wolfgang Grandegger @ 2006-08-11 10:08 UTC (permalink / raw)
  To: Harkema, G.A.; +Cc: xenomai

Harkema, G.A. wrote:
> Hello,
> 
>  
> 
> We are glad to present our new realtime USB stack based on Xenomai 
> 2.2.0. You can find it at https://gna.org/projects/usb20rt/ as a 
> downloadable file and svn.
> 
> It is not bug free, but it’s a start. Please try the core and feel free 
> to make comments.

Cools, this would allow for support of CAN-USB-Devices.

Wolfgang.


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

end of thread, other threads:[~2006-08-11 10:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-11  7:50 [Xenomai-core] Announcement Realtime USB Stack Harkema, G.A.
2006-08-11  9:20 ` Jan Kiszka
2006-08-11 10:08 ` Wolfgang Grandegger

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.