linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/mpic: Cleanup irq vector accounting
@ 2018-06-29 10:24 Bharat Bhushan
  2018-07-04 13:27 ` Michael Ellerman
  2018-07-23 15:11 ` Michael Ellerman
  0 siblings, 2 replies; 4+ messages in thread
From: Bharat Bhushan @ 2018-06-29 10:24 UTC (permalink / raw)
  To: benh, paulus, mpe, robh, geoff, tyreld, linuxppc-dev, linux-kernel
  Cc: Bharat Bhushan

Available vector space accounts ipis and timer interrupts
while spurious vector was not accounted. Also later
mpic_setup_error_int() escape one more vector, seemingly it
assumes one spurious vector.

Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
---
 arch/powerpc/sysdev/fsl_mpic_err.c | 2 +-
 arch/powerpc/sysdev/mpic.c         | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/sysdev/fsl_mpic_err.c b/arch/powerpc/sysdev/fsl_mpic_err.c
index 488ec45..2a98837 100644
--- a/arch/powerpc/sysdev/fsl_mpic_err.c
+++ b/arch/powerpc/sysdev/fsl_mpic_err.c
@@ -76,7 +76,7 @@ int mpic_setup_error_int(struct mpic *mpic, int intvec)
 	mpic->flags |= MPIC_FSL_HAS_EIMR;
 	/* allocate interrupt vectors for error interrupts */
 	for (i = MPIC_MAX_ERR - 1; i >= 0; i--)
-		mpic->err_int_vecs[i] = --intvec;
+		mpic->err_int_vecs[i] = intvec--;
 
 	return 0;
 }
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 1d4e0ef6..e098d1e 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -1380,12 +1380,12 @@ struct mpic * __init mpic_alloc(struct device_node *node,
 		 * global vector number space, as in case of ipis
 		 * and timer interrupts.
 		 *
-		 * Available vector space = intvec_top - 12, where 12
+		 * Available vector space = intvec_top - 13, where 13
 		 * is the number of vectors which have been consumed by
-		 * ipis and timer interrupts.
+		 * ipis, timer interrupts and spurious.
 		 */
 		if (fsl_version >= 0x401) {
-			ret = mpic_setup_error_int(mpic, intvec_top - 12);
+			ret = mpic_setup_error_int(mpic, intvec_top - 13);
 			if (ret)
 				return NULL;
 		}
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] powerpc/mpic: Cleanup irq vector accounting
  2018-06-29 10:24 [PATCH] powerpc/mpic: Cleanup irq vector accounting Bharat Bhushan
@ 2018-07-04 13:27 ` Michael Ellerman
  2018-07-05 15:42   ` Bharat Bhushan
  2018-07-23 15:11 ` Michael Ellerman
  1 sibling, 1 reply; 4+ messages in thread
From: Michael Ellerman @ 2018-07-04 13:27 UTC (permalink / raw)
  To: Bharat Bhushan, benh, paulus, robh, geoff, tyreld, linuxppc-dev,
	linux-kernel
  Cc: Bharat Bhushan

Bharat Bhushan <Bharat.Bhushan@nxp.com> writes:

> Available vector space accounts ipis and timer interrupts
> while spurious vector was not accounted.

OK. What is the symptom of that? Nothing? Total system crash?

Looks like this can be tagged:

Fixes: 0a4081641d72 ("powerpc/mpic: FSL MPIC error interrupt support.")

Which added the code that uses "12".

> Also later
> mpic_setup_error_int() escape one more vector, seemingly it
> assumes one spurious vector.

Ah right, I get it now.

So there is no bug. It's just a disagreement about whether the "intvec"
argument to mpic_setup_error_int() indicates the first number that's
free to use or the last number that has been allocated.

Right?

cheers

> Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
> ---
>  arch/powerpc/sysdev/fsl_mpic_err.c | 2 +-
>  arch/powerpc/sysdev/mpic.c         | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/sysdev/fsl_mpic_err.c b/arch/powerpc/sysdev/fsl_mpic_err.c
> index 488ec45..2a98837 100644
> --- a/arch/powerpc/sysdev/fsl_mpic_err.c
> +++ b/arch/powerpc/sysdev/fsl_mpic_err.c
> @@ -76,7 +76,7 @@ int mpic_setup_error_int(struct mpic *mpic, int intvec)
>  	mpic->flags |= MPIC_FSL_HAS_EIMR;
>  	/* allocate interrupt vectors for error interrupts */
>  	for (i = MPIC_MAX_ERR - 1; i >= 0; i--)
> -		mpic->err_int_vecs[i] = --intvec;
> +		mpic->err_int_vecs[i] = intvec--;
>  
>  	return 0;
>  }
> diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> index 1d4e0ef6..e098d1e 100644
> --- a/arch/powerpc/sysdev/mpic.c
> +++ b/arch/powerpc/sysdev/mpic.c
> @@ -1380,12 +1380,12 @@ struct mpic * __init mpic_alloc(struct device_node *node,
>  		 * global vector number space, as in case of ipis
>  		 * and timer interrupts.
>  		 *
> -		 * Available vector space = intvec_top - 12, where 12
> +		 * Available vector space = intvec_top - 13, where 13
>  		 * is the number of vectors which have been consumed by
> -		 * ipis and timer interrupts.
> +		 * ipis, timer interrupts and spurious.
>  		 */
>  		if (fsl_version >= 0x401) {
> -			ret = mpic_setup_error_int(mpic, intvec_top - 12);
> +			ret = mpic_setup_error_int(mpic, intvec_top - 13);
>  			if (ret)
>  				return NULL;
>  		}
> -- 
> 1.9.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH] powerpc/mpic: Cleanup irq vector accounting
  2018-07-04 13:27 ` Michael Ellerman
@ 2018-07-05 15:42   ` Bharat Bhushan
  0 siblings, 0 replies; 4+ messages in thread
From: Bharat Bhushan @ 2018-07-05 15:42 UTC (permalink / raw)
  To: Michael Ellerman, benh, paulus, robh, geoff, tyreld,
	linuxppc-dev, linux-kernel



> -----Original Message-----
> From: Michael Ellerman [mailto:mpe@ellerman.id.au]
> Sent: Wednesday, July 4, 2018 6:57 PM
> To: Bharat Bhushan <bharat.bhushan@nxp.com>;
> benh@kernel.crashing.org; paulus@samba.org; robh@kernel.org;
> geoff@infradead.org; tyreld@linux.vnet.ibm.com; linuxppc-
> dev@lists.ozlabs.org; linux-kernel@vger.kernel.org
> Cc: Bharat Bhushan <bharat.bhushan@nxp.com>
> Subject: Re: [PATCH] powerpc/mpic: Cleanup irq vector accounting
> 
> Bharat Bhushan <Bharat.Bhushan@nxp.com> writes:
> 
> > Available vector space accounts ipis and timer interrupts while
> > spurious vector was not accounted.
> 
> OK. What is the symptom of that? Nothing? Total system crash?
> 
> Looks like this can be tagged:
> 
> Fixes: 0a4081641d72 ("powerpc/mpic: FSL MPIC error interrupt support.")
> 
> Which added the code that uses "12".
> 
> > Also later
> > mpic_setup_error_int() escape one more vector, seemingly it assumes
> > one spurious vector.
> 
> Ah right, I get it now.
> 
> So there is no bug. It's just a disagreement about whether the "intvec"
> argument to mpic_setup_error_int() indicates the first number that's free to
> use or the last number that has been allocated.
> 
> Right?

Yes, it is not any bug fix. This is minor cleanup where passing rather than passing "last intvec used" to "intvec to be used" in mpic_setup_error_int().

Thanks
-Bharat

> 
> cheers
> 
> > Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
> > ---
> >  arch/powerpc/sysdev/fsl_mpic_err.c | 2 +-
> >  arch/powerpc/sysdev/mpic.c         | 6 +++---
> >  2 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/powerpc/sysdev/fsl_mpic_err.c
> > b/arch/powerpc/sysdev/fsl_mpic_err.c
> > index 488ec45..2a98837 100644
> > --- a/arch/powerpc/sysdev/fsl_mpic_err.c
> > +++ b/arch/powerpc/sysdev/fsl_mpic_err.c
> > @@ -76,7 +76,7 @@ int mpic_setup_error_int(struct mpic *mpic, int
> intvec)
> >  	mpic->flags |= MPIC_FSL_HAS_EIMR;
> >  	/* allocate interrupt vectors for error interrupts */
> >  	for (i = MPIC_MAX_ERR - 1; i >= 0; i--)
> > -		mpic->err_int_vecs[i] = --intvec;
> > +		mpic->err_int_vecs[i] = intvec--;
> >
> >  	return 0;
> >  }
> > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> > index 1d4e0ef6..e098d1e 100644
> > --- a/arch/powerpc/sysdev/mpic.c
> > +++ b/arch/powerpc/sysdev/mpic.c
> > @@ -1380,12 +1380,12 @@ struct mpic * __init mpic_alloc(struct
> device_node *node,
> >  		 * global vector number space, as in case of ipis
> >  		 * and timer interrupts.
> >  		 *
> > -		 * Available vector space = intvec_top - 12, where 12
> > +		 * Available vector space = intvec_top - 13, where 13
> >  		 * is the number of vectors which have been consumed by
> > -		 * ipis and timer interrupts.
> > +		 * ipis, timer interrupts and spurious.
> >  		 */
> >  		if (fsl_version >= 0x401) {
> > -			ret = mpic_setup_error_int(mpic, intvec_top - 12);
> > +			ret = mpic_setup_error_int(mpic, intvec_top - 13);
> >  			if (ret)
> >  				return NULL;
> >  		}
> > --
> > 1.9.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: powerpc/mpic: Cleanup irq vector accounting
  2018-06-29 10:24 [PATCH] powerpc/mpic: Cleanup irq vector accounting Bharat Bhushan
  2018-07-04 13:27 ` Michael Ellerman
@ 2018-07-23 15:11 ` Michael Ellerman
  1 sibling, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2018-07-23 15:11 UTC (permalink / raw)
  To: Bharat Bhushan, benh, paulus, robh, geoff, tyreld, linuxppc-dev,
	linux-kernel
  Cc: Bharat Bhushan

On Fri, 2018-06-29 at 10:24:32 UTC, Bharat Bhushan wrote:
> Available vector space accounts ipis and timer interrupts
> while spurious vector was not accounted. Also later
> mpic_setup_error_int() escape one more vector, seemingly it
> assumes one spurious vector.
> 
> Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/fca7bf946e31688edce446fdaa571c

cheers

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-23 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-29 10:24 [PATCH] powerpc/mpic: Cleanup irq vector accounting Bharat Bhushan
2018-07-04 13:27 ` Michael Ellerman
2018-07-05 15:42   ` Bharat Bhushan
2018-07-23 15:11 ` Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).