Linux device driver for SMP system
I have developed a Linux block device driver for CD device. The driver is working well but  now there is a requirement that it should run on a SMP system. When I did a test run on the SMP system, I found the performance of the driver to degrade. The Bit rate for DATA CD has gone down tremendously as compared to single core system. So I understand that my driver needs to be modified to make it SMP safe. 

In my driver , I have used :
1. Kernel threads
2. Mutex
3. Semaphore
4. Completions  

My SMP system is : ARM Cortex-A9 Dual Core 600 MHz

Can some one please tell me what all factors that I should keep in mind while doing this porting?

Thanks and Regards,
Souvik

Linux device driver for SMP system
===

I have developed a Linux block device driver for CD device. The driver is working well but  now there is a requirement that it should run on a SMP system. When I did a test run on the SMP system, I found the performance of the driver to degrade. The Bit rate for DATA CD has gone down tremendously as compared to single core system. So I understand that my driver needs to be modified to make it SMP safe. 

In my driver , I have used :
1. Kernel threads
2. Mutex
3. Semaphore
4. Completions  

My SMP system is : ARM Cortex-A9 Dual Core 600 MHz

Can some one please tell me what all factors that I should keep in mind while doing this porting?

Thanks and Regards,
Souvik
