Re: [PATCH 08/57] microblaze_v7: Interrupt handling, timer support,selfmod code

From: Michal Simek
Date: Fri Mar 20 2009 - 10:27:38 EST


Thomas,
> Michal,
>
> On Fri, 20 Mar 2009, Michal Simek wrote:
>>> I guess the problem is in your chip->xxx functions.
>> I fixed it. There were one additional line.
>> + I set GENERIC_HARDIRQS_NO__DO_IRQ=y.
>
> Cool.

:-)

NO_HZ works too. Here is the log.

# cat /proc/interrupts
CPU0
3: 3827 level INTC timer
8: 1834 edge INTC uartlite
# uptime
00:16:47 up 16 min, load average: 0.00, 0.00, 0.00
# uptime
00:17:53 up 17 min, load average: 0.00, 0.00, 0.00
# cat /proc/interrupts
CPU0
3: 4105 level INTC timer
8: 1913 edge INTC uartlite
# uptime
00:21:44 up 21 min, load average: 0.00, 0.00, 0.00
# cat /proc/interrupts
CPU0
3: 4615 level INTC timer
8: 1970 edge INTC uartlite
#

>
>> BTW: Below is full chip description where function enable is unmask
>> and disable is mask. Do I have keep there enable and disable function pointers?
>> I commented them and works without them too.
>
> Right. The generic code does:
>
> if (!chip->enable)
> chip->enable = default_enable;
> if (!chip->disable)
> chip->disable = default_disable;

I look at default implementation and seems to me that I can save some
instruction when I use my enable function not generic one and for disabling is
default function faster because do nothing.
I am going to send one email with full intc.c + 2 changes - one in irq.c and
second in Kconfig.

Thanks,
Michal

>
> Thanks,
>
> tglx


--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/