lkml.org 
[lkml]   [2010]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] mfd: speedup twl4030 irq response time and decrease irq disable time
From
Hi Samuel,

Thanks for your comment.

2010/9/27 Samuel Ortiz <sameo@linux.intel.com>:
> Hi Tom,
>
> On Wed, Sep 22, 2010 at 09:49:31AM +0800, tom.leiming@gmail.com wrote:
>> From: Ming Lei <tom.leiming@gmail.com>
>>
>> This patch sets scheduler policy of twl4030 irq thread
>> (twl4030_irq_thread) as SCHED_FIFO to speedup irq response
>> time, just like taken by kernel threaded irq in irq_thread
>> (kernel/irq/manage.c). Also higher priority than that of
>> threaded irq is taken to avoid preemption from twl4030
>> subchips's threaded irq handler, so pih irq disable time may
>> be decreased.
> Wouldn't converting your twl4030_irq_thread() to the threaded IRQ framework
> fix that problem ?

IRQ_DISABLED flag is set by disable_irq_nosync called from PIH handler,
then thread function can't be executed in irq thread function, so we can't
convert this to threaded IRQ framework simply.

>
>> The pih irq is disabled in handle_twl4030_pih which may
>> wakeup twl4030 irq thread, and the pih irq will be enabled
>> again until complete of all sih irqs' handling in twl4030
>> irq thread.
>>
>> Also for each one interrupt line of twl4030 subchip, only
>> two irq events can be buffered by twl4030(4.4.2.3 of TPS65950 TRM).
> Could you explain how is that related to the patch below ?

We need to decrease PIH irq disable time as far as possible to
make twl4030 subchip happy, or else some irqs may be lost, right?

This patch will decrease PIH irq disable time:

- set schedule policy of twl4030_irq_thread as SCHED_FIFO, so
it will get running timeslice quicker than before

- set priority of twl4030_irq_thread higher than irq_thread of
subchips to prevent it from being preempted by subchips' irq thread.


--
Lei Ming


\
 
 \ /
  Last update: 2010-09-28 02:27    [W:0.065 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site