Re: on patch "DVB: add firesat driver" in staging.git

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Robert Berger
Date: Sunday, June 15, 2008 - 5:11 am

Andreas Monitzer wrote:
I don't know enough about the 1394 API to judge for this project, but I 
believe that there are similarities to IPTV systems, where the streams 
are coming through an Ethernet interface.
Some people want to avoid the copy from kernel to user space (network 
stack) and back to kernel space (inject into some hardware demux) in 
case of a user space application, hence they go for the kernel space 
implementation and claim it's for performance reasons, but I do have 
evidence, that it's not enough. (different implementations on the same 
hardware platform)
In case you receive some RTP stream over the network you need to peel 
off various headers and stuff like layers from an onion to end up with 
the raw data, which can be injected into the demux. So the classic 
approach is for each packet to allocate some memory for one layer and 
less for the next (stripped stuff) and less for the next and so on. To 
pass from one layer to the next you do some copies, which is very 
expensive in terms of performance. It turned out that it's worthwhile to 
write your own memory manager, which contains a reusable pool of chunks 
of memory. In order to pass form one to the next layer no copying is 
needed, but just some playing around with pointers. Like this a user 
space application with a memory manager can easily outperform a kernel 
space application, which does not use it's own memory manager.
Of course if you would use a memory manager in kernel space, you could 
achieve the best results, since you would avoid the copies form kernel 
to user space and back.
Do you see similarities for the 1394 stuff?

Regards,

Robert

---
Robert Berger
Embedded Software Specialist

Reliable Embedded Systems
Consulting Training Engineering
Tel.: (+30) 697 593 3428
Fax.:(+30 210) 684 7881
email: robert.berger@reliableembeddedsystems.com
URL: www.reliableembeddedsystems.com
---
 
......The moral is obvious. You can't trust code that you did not 
totally create yourself. -- Ken Thompson

My public pgp key is available at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x90320BF1
 





_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PRJ007] tty over TCP driver needed, Greg KH, (Wed Oct 17, 3:30 pm)
Re: [PRJ007] tty over TCP driver needed, Jay York, (Wed Oct 17, 3:53 pm)
Re: [PRJ007] tty over TCP driver needed, Greg KH, (Wed Oct 17, 4:20 pm)
Re: [PRJ007] tty over TCP driver needed, Greg KH, (Wed Oct 17, 4:27 pm)
Re: [PRJ007] tty over TCP driver needed, Jay York, (Wed Oct 17, 7:34 pm)
Re: [PRJ007] tty over TCP driver needed, Matthias Urlichs, (Wed Oct 17, 11:03 pm)
Re: [PRJ007] tty over TCP driver needed, David Hollis, (Thu Oct 18, 5:37 am)
Re: [PRJ007] tty over TCP driver needed, David Glandon, (Thu Oct 18, 5:53 am)
Re: [PRJ007] tty over TCP driver needed, John W. Linville, (Thu Oct 18, 6:51 am)
Re: [PRJ007] tty over TCP driver needed, Candida lopez, (Thu Oct 18, 7:37 am)
Re: on patch "DVB: add firesat driver" in staging.git, Robert Berger, (Sun Jun 15, 5:11 am)