linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* spi_async and heavy CPU occupation by ksoftirqd
@ 2007-08-08  8:21 llandre
       [not found] ` <46B97D01.5000208-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: llandre @ 2007-08-08  8:21 UTC (permalink / raw)
  To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

I'm facing the following problem.
I have to poll a SPI device periodically (around ten times a second). 
Both command and response are 1 byte. To do the job I created a work 
that looks like this:

work(...)
{
	sets debug_pin
	poll the device
	err = queue_delayed_work(wq, work, (HZ / 10));
	clears debug_pin
}

The actual SPI transaction is perfomed by invoking spi_async. SPI 
transactions work fine but the kernel daemon ksoftirqd eats about 18% of 
CPU time. With the help of debug pin, I measured the execution time of 
function work that is around 70us. Then I commented out the call of 
spi_async and the ksoftirqd CPU occupation drops to 0%. Am I doing 
something wrong?

I'm working with kernel 2.6.21.3 on iMXL ARM9 processor.

TIA,
llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave-tech.it
email: r&d2-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

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

end of thread, other threads:[~2007-08-14  9:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-08  8:21 spi_async and heavy CPU occupation by ksoftirqd llandre
     [not found] ` <46B97D01.5000208-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
2007-08-08 16:27   ` David Brownell
     [not found]     ` <200708080927.36737.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-09 14:05       ` llandre
     [not found]         ` <46BB1F10.3030608-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
2007-08-09 15:23           ` David Brownell
     [not found]             ` <200708090823.29708.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2007-08-10  8:52               ` llandre
     [not found]                 ` <46BC2732.5070504-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
2007-08-10 10:29                   ` Andrea Paterniani
     [not found]                     ` <FLEPLOLKEPNLMHOILNHPMEKGDKAA.a.paterniani-03BXCEkGbFHYGGNLXY5/rw@public.gmane.org>
2007-08-10 11:32                       ` llandre
     [not found]                         ` <46BC4CD3.5090304-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
2007-08-10 12:27                           ` R: " Andrea Paterniani
     [not found]                             ` <FLEPLOLKEPNLMHOILNHPIEKIDKAA.a.paterniani-03BXCEkGbFHYGGNLXY5/rw@public.gmane.org>
2007-08-14  8:29                               ` llandre
     [not found]                                 ` <46C167F0.4040100-4VKA1VU3ct/j+vYz1yj4TQ@public.gmane.org>
2007-08-14  9:43                                   ` llandre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).