Re: need to know about usbaudio.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Swami,

Thank you for your reply.

My issue is,

I want to make best use of DMA to get better performance. (better
performance means less CPU usage and less interrupts.) My clients
wants better performance, as he is going to run CPU hungry application
which will do USB BULK+ISO xfer.

With DMA, my BULK xfer takes same CPU capared to 'without DMA', but I
get lesser intereputs 'WITH DMA'.
With DMA, my ISO xfer takes more CPU capared to 'without DMA', and I
see same no. of interrupts 'WITH DMA'.

So I'm getting advantage of using DMA in BULK xfer, but ISO xfer gets
worst( as CPU usage goes very high in ISO xfer because of ksoftirqd).

For ISO xfer,Without DMA my CPU usage is total 1% to 6% (i.e. 1% to 5%
audio player app takes + 0% to 1% ksoftirqd takes).
For ISO xfer, With DMA my CPU usage is total 20% to 32% (i.e. 0% to 2%
audio player app takes + 20% to 30% ksoftirqd takes).

With DMA, I see overall CPU usage go very high compared to 'without
DMA' i.e. for ISO xfer. because of ksoftirqd.
I think musb schdules tasklets in davinci_interrupt isr for DMA. Which
inturn makes a lot of sort irqs and so ksoftirqd eats of a lot of
CPU(around 20% to 30%).

with DMA, ISO xfer gets worst as ksoftirqd eats up a lot of CPU
campared to "WITHOUT DMA"

Kindly suggest me how can I get best performace with DMA for both ISO and BULK?

Thank you in advance.

On Sat, Feb 20, 2010 at 12:57 AM, Subbrathnam, Swaminathan
<swami.iyer@xxxxxx> wrote:
> Pratik,
>        The increased interrupt activity during ISO transactions is expected.
>
>        Can you provide information on the actual issue you are facing.  Are you not able to stream/run application etc. due to the increased interrupts?
>
> Regards
> Swami
>
>> -----Original Message-----
>> From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-
>> owner@xxxxxxxxxxxxxxx] On Behalf Of Pratik Prajapati
>> Sent: Friday, February 19, 2010 3:06 PM
>> To: linux-usb@xxxxxxxxxxxxxxx
>> Subject: need to know about usbaudio.
>>
>> Hello,
>>
>> I'm doing playback/record with usbaudio on TI musb with ALSA.
>>
>> My concern is, in isochronus mode (with CPPI DMA) I see a lot of
>> interrupts and so ksoftirqd takes up to 30% CPU in addition to Audio
>> application. And in bulk mode(with CPPI DMA) I see less interrupts and
>> also ksoftirqd is taking around 15% CPU in addition to the
>> application. Is there any way by which I can get lesser interrupts in
>> sochronus mode (with CPPI DMA)?
>>
>> my linux is: 2.6.10_mvl401, with
>> musb_hdrc: version 2.2a/db-0.4.8 [cppi-dma] [host] [debug=1]
>> musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
>> musb_hdrc: MHDRC RTL version 1.300
>> musb_hdrc: USB Host mode controller at c8002000 using DMA, IRQ 12
>> musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
>>
>> I have observed that whether I play 8KHZ audio or 44KHZ audio, I see
>> iso_frame_desc (packed in urb) ramains of same length, i.e. 176 bytes.
>> e.g.
>> I played 8KHZ audio and found that, musb is gets total 4
>> iso_frame_desc in each URB. size of each iso_frame_desc is 176 bytes.
>> I played 44KHZ audio and found that, musb is gets total 4
>> iso_frame_desc in each URB. size of each iso_frame_desc is 176 bytes.
>> In each URB musb gets 4 iso_frame_desc, which is fixed by variable
>> 'static int nrpacks' in usbaudio.c.
>>
>> CPPI DMA makes buffer discriptors of each iso_frame_desc, which is
>> very small chunk.
>>
>> Does it make sense that usbaudio passes larger iso_frame_desc to musb
>> ( right now I'm getting 176 bytes iso_frame_desc each time)? so that
>> CPPI DMA will send lesser interrupts to CPU.
>>
>> Please let me know if more information is required from my side.
>>
>> --
>> Regards,
>> Pratik PRAJAPATI
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



-- 
Regards,
Pratik PRAJAPATI
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux