Iain Martin
|
Re: Resource Manager performance issue for a PCI driver
|
Iain Martin
08/31/2011 8:04 AM
post88526
|
Re: Resource Manager performance issue for a PCI driver
Hi, thanks for your quick and helpful reply. The Resource Manager seemed like an attractive wrapper for our PCI driver
because it enables seperate processes to accesses links independantly and handles mutliple devices. e.g. One process
could read from a link while another could write independantly.
I liked you idea of "abusing" the Resource Manager. I think that the key would be to have the driver device context (PCI
register mappings, DMA channel queues, state machine, mutexes etc) in shared memory created in the Resource Manager's
main(). We use an OpenChannel and CloseChannel idea (implemented using an ioctl()) to give an application exclusive
access to either read from or write to a data link with data buffered in contiguous driver buffers for dma. Maybe it
would be possible for the OpenChannel ioctl() to return a pointer to the driver device context from shared memory which
would enable the application to directly call the driver's read and write functions.
I'll try to implement this.
Many thanks,
Iain
|
|
|