On Mon,  1 Aug 2016 00:36:26 +0530
Madhavan Srinivasan <ma...@linux.vnet.ibm.com> wrote:

> Make it explicit the interrupt masking level supported
> by a gievn interrupt handler. Patch correspondingly
> extends the MASKABLE_* macros with an addition's parameter.
> "mask_lvl" parameter is passed to SOFTEN_TEST macro to decide
> on masking the interrupt.

Hey Madhavan,

It looks like this has worked quite nicely. I think you've
managed to avoid any additional instructions in fastpaths
if I'm reading correctly.

I will do a more comprehensive review, but I wanted to ask:


> @@ -426,79 +426,81 @@ label##_relon_hv:                                       
>         \
>  #define SOFTEN_VALUE_0xe60   PACA_IRQ_HMI
>  #define SOFTEN_VALUE_0xe62   PACA_IRQ_HMI
>  
> -#define __SOFTEN_TEST(h, vec)                                                
> \
> +#define __SOFTEN_TEST(h, vec, mask_lvl)                                      
> \
>       lbz     r10,PACASOFTIRQEN(r13);                                 \
> -     cmpwi   r10,IRQ_DISABLE_LEVEL_LINUX;                            \
> +     andi.   r10,r10,mask_lvl;                                       \
>       li      r10,SOFTEN_VALUE_##vec;                                 \
> -     bge     masked_##h##interrupt
> -#define _SOFTEN_TEST(h, vec) __SOFTEN_TEST(h, vec)
> +     bne     masked_##h##interrupt
> +#define _SOFTEN_TEST(h, vec, mask_lvl)       __SOFTEN_TEST(h, vec, mask_lvl)

We're talking about IRQ masking levels, but here it looks
like you're actually treating it as a mask.

I don't have a strong preference. Mask is more flexible, but
potentially constrained in how many interrupt types it can
cope with. That said, I doubt we'll need more than 8 mask bits
considering we've lived with one for years. So perhaps a mask
is a better choice. Ben, others, any preferences?

We should just use either "mask" or "level" everywhere, depending
on what we go with.

Thanks,
Nick
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to