RE: [PATCH] ARM: S5PV310: Optimize interrupt source searching code

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

 



Michal Nazarewicz wrote:
> 
Hi :-)

> On Tue, 28 Sep 2010 14:45:59 +0200, Sergei Shtylyov <sshtylyov@xxxxxxxxxx>
> wrote:
> 
> > Hello.
> >
> > On 28-09-2010 5:31, Kukjin Kim wrote:
> >
> >> From: Changhwan Youn<chaos.youn@xxxxxxxxxxx>
> >
> >> It is reported by Junseok Jung that using clz instruction is
> >> better instead of using for-loop to find the interrupt source.
> >> This patch modifies interrupt source searching code using __fls().
> >> The __fls() is implemented using clz instruction.
> >
> >> Suggested-by: Junseok Jung<jundols.jung@xxxxxxxxxxx>
> >> Signed-off-by: Changhwan Youn<chaos.youn@xxxxxxxxxxx>
> >> Signed-off-by: Kukjin Kim<kgene.kim@xxxxxxxxxxx>
> >> ---
> >>   arch/arm/mach-s5pv310/irq-combiner.c |    6 +-----
> >>   1 files changed, 1 insertions(+), 5 deletions(-)
> >
> >> diff --git a/arch/arm/mach-s5pv310/irq-combiner.c b/arch/arm/mach-s5pv310/irq-
> combiner.c
> >> index 0f70521..39e3647 100644
> >> --- a/arch/arm/mach-s5pv310/irq-combiner.c
> >> +++ b/arch/arm/mach-s5pv310/irq-combiner.c
> >> @@ -66,11 +66,7 @@ static void combiner_handle_cascade_irq(unsigned int
> irq, struct irq_desc *desc)
> >>   	if (status == 0)
> >>   		goto out;
> >>
> >> -	for (combiner_irq = 0; combiner_irq<  32; combiner_irq++) {
> >> -		if (status & 0x1)
> >> -			break;
> >> -		status>>= 1;
> >> -	}
> >> +	combiner_irq = __fls(status);
> >
> >     But the loop finds the *first* set bit, not the last...
> 
> __ffs than?
> 
Yes, already re-submitted.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@xxxxxxxxxxx>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux