* [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
@ 2020-12-05 1:43 ` Jerry Snitselaar
2020-12-05 10:39 ` Jarkko Sakkinen
2020-12-06 17:54 ` Thomas Gleixner
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count Jerry Snitselaar
` (9 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-05 1:43 UTC (permalink / raw)
To: linux-kernel
Cc: intel-gfx, dri-devel, James Bottomley, Jason Gunthorpe,
Jarkko Sakkinen, Matthew Garrett, linux-integrity,
Thomas Gleixner, Peter Huewe
To try and detect potential interrupt storms that
have been occurring with tpm_tis devices it was suggested
to use kstat_irqs() to get the number of interrupts.
Since tpm_tis can be built as a module it needs kstat_irqs
exported.
Reported-by: kernel test robot <lkp@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Peter Huewe <peterhuewe@gmx.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Matthew Garrett <mjg59@google.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
include/linux/irqdesc.h | 1 +
kernel/irq/irqdesc.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index 5745491303e0..fff88c1f1ac6 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -153,6 +153,7 @@ static inline void generic_handle_irq_desc(struct irq_desc *desc)
}
int generic_handle_irq(unsigned int irq);
+unsigned int kstat_irqs(unsigned int irq);
#ifdef CONFIG_HANDLE_DOMAIN_IRQ
/*
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 1a7723604399..12398ef1796b 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -1000,6 +1000,7 @@ unsigned int kstat_irqs(unsigned int irq)
sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
return sum;
}
+EXPORT_SYMBOL_GPL(kstat_irqs);
/**
* kstat_irqs_usr - Get the statistics for an interrupt
--
2.27.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs Jerry Snitselaar
@ 2020-12-05 10:39 ` Jarkko Sakkinen
2020-12-06 16:40 ` Thomas Gleixner
2020-12-06 17:54 ` Thomas Gleixner
1 sibling, 1 reply; 33+ messages in thread
From: Jarkko Sakkinen @ 2020-12-05 10:39 UTC (permalink / raw)
To: Jerry Snitselaar
Cc: Yunfeng Ye, David Airlie, Jiri Kosina, intel-gfx, linux-kernel,
dri-devel, James Bottomley, Jason Gunthorpe, Jarkko Sakkinen,
Matthew Garrett, Thomas Gleixner, linux-integrity, Peter Huewe
On Fri, Dec 04, 2020 at 06:43:37PM -0700, Jerry Snitselaar wrote:
> To try and detect potential interrupt storms that
> have been occurring with tpm_tis devices it was suggested
> to use kstat_irqs() to get the number of interrupts.
> Since tpm_tis can be built as a module it needs kstat_irqs
> exported.
I think you should also have a paragraph explicitly stating that
i915_pmu.c contains a duplicate of kstat_irqs() because it is not
exported as of today. It adds a lot more weight to this given that
there is already existing mainline usage (kind of).
>
> Reported-by: kernel test robot <lkp@intel.com>
I'm not sure if this makes much sense.
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jarkko Sakkinen <jarkko@kernel.org>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Peter Huewe <peterhuewe@gmx.de>
> Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
> Cc: Matthew Garrett <mjg59@google.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
/Jarkko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-05 10:39 ` Jarkko Sakkinen
@ 2020-12-06 16:40 ` Thomas Gleixner
2020-12-06 17:40 ` James Bottomley
0 siblings, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 16:40 UTC (permalink / raw)
To: Jarkko Sakkinen, Jerry Snitselaar
Cc: David Airlie, Jiri Kosina, intel-gfx, linux-kernel, dri-devel,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen,
Matthew Garrett, linux-integrity, Peter Huewe, Yunfeng Ye
On Sat, Dec 05 2020 at 12:39, Jarkko Sakkinen wrote:
> On Fri, Dec 04, 2020 at 06:43:37PM -0700, Jerry Snitselaar wrote:
>> To try and detect potential interrupt storms that
>> have been occurring with tpm_tis devices it was suggested
>> to use kstat_irqs() to get the number of interrupts.
>> Since tpm_tis can be built as a module it needs kstat_irqs
>> exported.
>
> I think you should also have a paragraph explicitly stating that
> i915_pmu.c contains a duplicate of kstat_irqs() because it is not
> exported as of today. It adds a lot more weight to this given that
> there is already existing mainline usage (kind of).
It's abusage and just the fact that it exists is not an argument by
itself.
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-06 16:40 ` Thomas Gleixner
@ 2020-12-06 17:40 ` James Bottomley
2020-12-06 19:29 ` Thomas Gleixner
0 siblings, 1 reply; 33+ messages in thread
From: James Bottomley @ 2020-12-06 17:40 UTC (permalink / raw)
To: Thomas Gleixner, Jarkko Sakkinen, Jerry Snitselaar
Cc: David Airlie, Jiri Kosina, intel-gfx, linux-kernel, dri-devel,
Jason Gunthorpe, Matthew Garrett, linux-integrity, Peter Huewe,
Yunfeng Ye
On Sun, 2020-12-06 at 17:40 +0100, Thomas Gleixner wrote:
> On Sat, Dec 05 2020 at 12:39, Jarkko Sakkinen wrote:
> > On Fri, Dec 04, 2020 at 06:43:37PM -0700, Jerry Snitselaar wrote:
> > > To try and detect potential interrupt storms that
> > > have been occurring with tpm_tis devices it was suggested
> > > to use kstat_irqs() to get the number of interrupts.
> > > Since tpm_tis can be built as a module it needs kstat_irqs
> > > exported.
> >
> > I think you should also have a paragraph explicitly stating that
> > i915_pmu.c contains a duplicate of kstat_irqs() because it is not
> > exported as of today. It adds a lot more weight to this given that
> > there is already existing mainline usage (kind of).
>
> It's abusage and just the fact that it exists is not an argument by
> itself.
What we want is a count of the interrupts to see if we're having an
interrupt storm from the TPM device (some seem to be wired to fire the
interrupt even when there's no event to warrant it). Since
kstat_irqs_user() does the correct RCU locking, should we be using that
instead?
James
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-06 17:40 ` James Bottomley
@ 2020-12-06 19:29 ` Thomas Gleixner
0 siblings, 0 replies; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 19:29 UTC (permalink / raw)
To: James Bottomley, Jarkko Sakkinen, Jerry Snitselaar
Cc: David Airlie, Jiri Kosina, intel-gfx, linux-kernel, dri-devel,
Jason Gunthorpe, Matthew Garrett, linux-integrity, Peter Huewe,
Yunfeng Ye
On Sun, Dec 06 2020 at 09:40, James Bottomley wrote:
> On Sun, 2020-12-06 at 17:40 +0100, Thomas Gleixner wrote:
>> On Sat, Dec 05 2020 at 12:39, Jarkko Sakkinen wrote:
>> > On Fri, Dec 04, 2020 at 06:43:37PM -0700, Jerry Snitselaar wrote:
>> > > To try and detect potential interrupt storms that
>> > > have been occurring with tpm_tis devices it was suggested
>> > > to use kstat_irqs() to get the number of interrupts.
>> > > Since tpm_tis can be built as a module it needs kstat_irqs
>> > > exported.
>> >
>> > I think you should also have a paragraph explicitly stating that
>> > i915_pmu.c contains a duplicate of kstat_irqs() because it is not
>> > exported as of today. It adds a lot more weight to this given that
>> > there is already existing mainline usage (kind of).
>>
>> It's abusage and just the fact that it exists is not an argument by
>> itself.
>
> What we want is a count of the interrupts to see if we're having an
> interrupt storm from the TPM device (some seem to be wired to fire the
> interrupt even when there's no event to warrant it). Since
> kstat_irqs_user() does the correct RCU locking, should we be using that
> instead?
If we need to export it, yes. But I still have to understand the
value. See my other reply.
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs Jerry Snitselaar
2020-12-05 10:39 ` Jarkko Sakkinen
@ 2020-12-06 17:54 ` Thomas Gleixner
2020-12-06 21:46 ` Jerry Snitselaar
1 sibling, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 17:54 UTC (permalink / raw)
To: Jerry Snitselaar, linux-kernel
Cc: intel-gfx, dri-devel, James Bottomley, Jason Gunthorpe,
Jarkko Sakkinen, Matthew Garrett, linux-integrity, Peter Huewe
Jerry,
On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
The proper prefix is 'genirq:' git log kernel/irq/irqdesc.c would have
told you.
> To try and detect potential interrupt storms that
> have been occurring with tpm_tis devices it was suggested
> to use kstat_irqs() to get the number of interrupts.
> Since tpm_tis can be built as a module it needs kstat_irqs
> exported.
I'm not really enthused about exporting this without making it at least
safe. Using it from an interrupt handler is obviously safe vs. concurrent
removal, but the next driver writer who thinks this is cool is going to
get it wrong for sure.
Though I still have to figure out what the advantage of invoking a
function which needs to do a radix tree lookup over a device local
counter is just to keep track of this.
I'll reply on the TPM part of this as well.
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs
2020-12-06 17:54 ` Thomas Gleixner
@ 2020-12-06 21:46 ` Jerry Snitselaar
0 siblings, 0 replies; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-06 21:46 UTC (permalink / raw)
To: Thomas Gleixner
Cc: intel-gfx, linux-kernel, dri-devel, James Bottomley,
Jason Gunthorpe, Jarkko Sakkinen, Matthew Garrett,
linux-integrity, Peter Huewe
Thomas Gleixner @ 2020-12-06 10:54 MST:
> Jerry,
>
> On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
>
> The proper prefix is 'genirq:' git log kernel/irq/irqdesc.c would have
> told you.
>
>> To try and detect potential interrupt storms that
>> have been occurring with tpm_tis devices it was suggested
>> to use kstat_irqs() to get the number of interrupts.
>> Since tpm_tis can be built as a module it needs kstat_irqs
>> exported.
>
> I'm not really enthused about exporting this without making it at least
> safe. Using it from an interrupt handler is obviously safe vs. concurrent
> removal, but the next driver writer who thinks this is cool is going to
> get it wrong for sure.
>
> Though I still have to figure out what the advantage of invoking a
> function which needs to do a radix tree lookup over a device local
> counter is just to keep track of this.
>
> I'll reply on the TPM part of this as well.
>
> Thanks,
>
> tglx
I can rework it to use a device local counter.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs Jerry Snitselaar
@ 2020-12-05 1:43 ` Jerry Snitselaar
2020-12-06 16:38 ` Thomas Gleixner
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected Jerry Snitselaar
` (8 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-05 1:43 UTC (permalink / raw)
To: linux-kernel
Cc: David Airlie, Matthew Garrett, intel-gfx, James Bottomley,
Jason Gunthorpe, Jarkko Sakkinen, dri-devel, linux-integrity,
Thomas Gleixner, Peter Huewe
Now that kstat_irqs is exported, get rid of count_interrupts in
i915_pmu.c
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Peter Huewe <peterhuewe@gmx.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Matthew Garrett <mjg59@google.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
drivers/gpu/drm/i915/i915_pmu.c | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
index 69c0fa20eba1..a3e63f03da8c 100644
--- a/drivers/gpu/drm/i915/i915_pmu.c
+++ b/drivers/gpu/drm/i915/i915_pmu.c
@@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
return HRTIMER_RESTART;
}
-static u64 count_interrupts(struct drm_i915_private *i915)
-{
- /* open-coded kstat_irqs() */
- struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
- u64 sum = 0;
- int cpu;
-
- if (!desc || !desc->kstat_irqs)
- return 0;
-
- for_each_possible_cpu(cpu)
- sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
-
- return sum;
-}
-
static void i915_pmu_event_destroy(struct perf_event *event)
{
struct drm_i915_private *i915 =
@@ -581,7 +565,7 @@ static u64 __i915_pmu_event_read(struct perf_event *event)
USEC_PER_SEC /* to MHz */);
break;
case I915_PMU_INTERRUPTS:
- val = count_interrupts(i915);
+ val = kstat_irqs(i915->drm.pdev->irq);
break;
case I915_PMU_RC6_RESIDENCY:
val = get_rc6(&i915->gt);
--
2.27.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count Jerry Snitselaar
@ 2020-12-06 16:38 ` Thomas Gleixner
2020-12-06 21:33 ` Thomas Gleixner
` (2 more replies)
0 siblings, 3 replies; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 16:38 UTC (permalink / raw)
To: Jerry Snitselaar, linux-kernel
Cc: Peter Zijlstra, David Airlie, Matthew Garrett, intel-gfx,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
> Now that kstat_irqs is exported, get rid of count_interrupts in
> i915_pmu.c
> --- a/drivers/gpu/drm/i915/i915_pmu.c
> +++ b/drivers/gpu/drm/i915/i915_pmu.c
> @@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
> return HRTIMER_RESTART;
> }
>
> -static u64 count_interrupts(struct drm_i915_private *i915)
> -{
> - /* open-coded kstat_irqs() */
> - struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
> - u64 sum = 0;
> - int cpu;
> -
> - if (!desc || !desc->kstat_irqs)
> - return 0;
> -
> - for_each_possible_cpu(cpu)
> - sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
> -
> - return sum;
> -}
May I ask why this has been merged in the first place?
Nothing in a driver has ever to fiddle with the internals of an irq
descriptor. We have functions for properly accessing them. Just because
C allows to fiddle with everything is not a justification. If the
required function is not exported then adding the export with a proper
explanation is not asked too much.
Also this lacks protection or at least a comment why this can be called
safely and is not subject to a concurrent removal of the irq descriptor.
The same problem exists when calling kstat_irqs(). It's even documented
at the top of the function.
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-06 16:38 ` Thomas Gleixner
@ 2020-12-06 21:33 ` Thomas Gleixner
2020-12-08 9:54 ` Jarkko Sakkinen
2020-12-06 21:47 ` Jerry Snitselaar
2020-12-10 7:53 ` Joonas Lahtinen
2 siblings, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 21:33 UTC (permalink / raw)
To: Jerry Snitselaar, linux-kernel
Cc: Peter Zijlstra, David Airlie, Matthew Garrett, intel-gfx,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On Sun, Dec 06 2020 at 17:38, Thomas Gleixner wrote:
> On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
>> Now that kstat_irqs is exported, get rid of count_interrupts in
>> i915_pmu.c
>
> May I ask why this has been merged in the first place?
>
> Nothing in a driver has ever to fiddle with the internals of an irq
> descriptor. We have functions for properly accessing them. Just because
> C allows to fiddle with everything is not a justification. If the
> required function is not exported then adding the export with a proper
> explanation is not asked too much.
>
> Also this lacks protection or at least a comment why this can be called
> safely and is not subject to a concurrent removal of the irq descriptor.
> The same problem exists when calling kstat_irqs(). It's even documented
> at the top of the function.
And as pointed out vs. that TPM thing this really could have been a
trivial
i915->irqs++;
in the interrupt handler and a read of that instead of iterating over
all possible cpus and summing it up. Oh well...
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-06 21:33 ` Thomas Gleixner
@ 2020-12-08 9:54 ` Jarkko Sakkinen
0 siblings, 0 replies; 33+ messages in thread
From: Jarkko Sakkinen @ 2020-12-08 9:54 UTC (permalink / raw)
To: Thomas Gleixner
Cc: David Airlie, Matthew Garrett, intel-gfx, Jerry Snitselaar,
linux-kernel, James Bottomley, Jason Gunthorpe, Peter Zijlstra,
dri-devel, linux-integrity, Peter Huewe
On Sun, Dec 06, 2020 at 10:33:09PM +0100, Thomas Gleixner wrote:
> On Sun, Dec 06 2020 at 17:38, Thomas Gleixner wrote:
> > On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
> >> Now that kstat_irqs is exported, get rid of count_interrupts in
> >> i915_pmu.c
> >
> > May I ask why this has been merged in the first place?
> >
> > Nothing in a driver has ever to fiddle with the internals of an irq
> > descriptor. We have functions for properly accessing them. Just because
> > C allows to fiddle with everything is not a justification. If the
> > required function is not exported then adding the export with a proper
> > explanation is not asked too much.
> >
> > Also this lacks protection or at least a comment why this can be called
> > safely and is not subject to a concurrent removal of the irq descriptor.
> > The same problem exists when calling kstat_irqs(). It's even documented
> > at the top of the function.
>
> And as pointed out vs. that TPM thing this really could have been a
> trivial
>
> i915->irqs++;
>
> in the interrupt handler and a read of that instead of iterating over
> all possible cpus and summing it up. Oh well...
I'm fine with that.
> Thanks,
>
> tglx
/Jarkko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-06 16:38 ` Thomas Gleixner
2020-12-06 21:33 ` Thomas Gleixner
@ 2020-12-06 21:47 ` Jerry Snitselaar
2020-12-06 23:38 ` Thomas Gleixner
2020-12-10 7:53 ` Joonas Lahtinen
2 siblings, 1 reply; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-06 21:47 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Peter Zijlstra, David Airlie, Matthew Garrett, intel-gfx,
linux-kernel, James Bottomley, Jason Gunthorpe, Jarkko Sakkinen,
dri-devel, linux-integrity, Peter Huewe
Thomas Gleixner @ 2020-12-06 09:38 MST:
> On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
>
>> Now that kstat_irqs is exported, get rid of count_interrupts in
>> i915_pmu.c
>> --- a/drivers/gpu/drm/i915/i915_pmu.c
>> +++ b/drivers/gpu/drm/i915/i915_pmu.c
>> @@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
>> return HRTIMER_RESTART;
>> }
>>
>> -static u64 count_interrupts(struct drm_i915_private *i915)
>> -{
>> - /* open-coded kstat_irqs() */
>> - struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
>> - u64 sum = 0;
>> - int cpu;
>> -
>> - if (!desc || !desc->kstat_irqs)
>> - return 0;
>> -
>> - for_each_possible_cpu(cpu)
>> - sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
>> -
>> - return sum;
>> -}
>
> May I ask why this has been merged in the first place?
>
> Nothing in a driver has ever to fiddle with the internals of an irq
> descriptor. We have functions for properly accessing them. Just because
> C allows to fiddle with everything is not a justification. If the
> required function is not exported then adding the export with a proper
> explanation is not asked too much.
>
> Also this lacks protection or at least a comment why this can be called
> safely and is not subject to a concurrent removal of the irq descriptor.
> The same problem exists when calling kstat_irqs(). It's even documented
> at the top of the function.
>
> Thanks,
>
> tglx
I don't know the history behind this bit. I stumbled across it in cscope
when looking for places using kstat_irqs.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-06 21:47 ` Jerry Snitselaar
@ 2020-12-06 23:38 ` Thomas Gleixner
0 siblings, 0 replies; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 23:38 UTC (permalink / raw)
To: Jerry Snitselaar
Cc: Peter Zijlstra, David Airlie, Matthew Garrett, intel-gfx,
linux-kernel, James Bottomley, Jason Gunthorpe, Jarkko Sakkinen,
dri-devel, linux-integrity, Peter Huewe
On Sun, Dec 06 2020 at 14:47, Jerry Snitselaar wrote:
> Thomas Gleixner @ 2020-12-06 09:38 MST:
>
> I don't know the history behind this bit. I stumbled across it in cscope
> when looking for places using kstat_irqs.
I'm not ranting at you. The i915 people are on Cc.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-06 16:38 ` Thomas Gleixner
2020-12-06 21:33 ` Thomas Gleixner
2020-12-06 21:47 ` Jerry Snitselaar
@ 2020-12-10 7:53 ` Joonas Lahtinen
2020-12-10 10:45 ` Tvrtko Ursulin
2 siblings, 1 reply; 33+ messages in thread
From: Joonas Lahtinen @ 2020-12-10 7:53 UTC (permalink / raw)
To: Jerry Snitselaar, Thomas Gleixner, linux-kernel, Tvrtko Ursulin,
Chris Wilson
Cc: Jason Gunthorpe, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, David Airlie, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
+ Tvrtko and Chris for comments
Code seems to be added in:
commit 0cd4684d6ea9a4ffec33fc19de4dd667bb90d0a5
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date: Tue Nov 21 18:18:50 2017 +0000
drm/i915/pmu: Add interrupt count metric
I think later in the thread there was a suggestion to replace this with
simple counter increment in IRQ handler.
Regards, Joonas
Quoting Thomas Gleixner (2020-12-06 18:38:44)
> On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
>
> > Now that kstat_irqs is exported, get rid of count_interrupts in
> > i915_pmu.c
> > --- a/drivers/gpu/drm/i915/i915_pmu.c
> > +++ b/drivers/gpu/drm/i915/i915_pmu.c
> > @@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
> > return HRTIMER_RESTART;
> > }
> >
> > -static u64 count_interrupts(struct drm_i915_private *i915)
> > -{
> > - /* open-coded kstat_irqs() */
> > - struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
> > - u64 sum = 0;
> > - int cpu;
> > -
> > - if (!desc || !desc->kstat_irqs)
> > - return 0;
> > -
> > - for_each_possible_cpu(cpu)
> > - sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
> > -
> > - return sum;
> > -}
>
> May I ask why this has been merged in the first place?
>
> Nothing in a driver has ever to fiddle with the internals of an irq
> descriptor. We have functions for properly accessing them. Just because
> C allows to fiddle with everything is not a justification. If the
> required function is not exported then adding the export with a proper
> explanation is not asked too much.
>
> Also this lacks protection or at least a comment why this can be called
> safely and is not subject to a concurrent removal of the irq descriptor.
> The same problem exists when calling kstat_irqs(). It's even documented
> at the top of the function.
>
> Thanks,
>
> tglx
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-10 7:53 ` Joonas Lahtinen
@ 2020-12-10 10:45 ` Tvrtko Ursulin
2020-12-10 16:35 ` Thomas Gleixner
0 siblings, 1 reply; 33+ messages in thread
From: Tvrtko Ursulin @ 2020-12-10 10:45 UTC (permalink / raw)
To: Joonas Lahtinen, Jerry Snitselaar, Thomas Gleixner, linux-kernel,
Tvrtko Ursulin, Chris Wilson
Cc: David Airlie, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On 10/12/2020 07:53, Joonas Lahtinen wrote:
> + Tvrtko and Chris for comments
>
> Code seems to be added in:
>
> commit 0cd4684d6ea9a4ffec33fc19de4dd667bb90d0a5
> Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Date: Tue Nov 21 18:18:50 2017 +0000
>
> drm/i915/pmu: Add interrupt count metric
>
> I think later in the thread there was a suggestion to replace this with
> simple counter increment in IRQ handler.
It was indeed unsafe until recent b00bccb3f0bb ("drm/i915/pmu: Handle
PCI unbind") but now should be fine.
If kstat_irqs does not get exported it is easy enough for i915 to keep a
local counter. Reasoning was very infrequent per cpu summation is much
cheaper than very frequent atomic add. Up to thousands of interrupts per
second vs "once per second" PMU read kind of thing.
Regards,
Tvrtko
> Quoting Thomas Gleixner (2020-12-06 18:38:44)
>> On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
>>
>>> Now that kstat_irqs is exported, get rid of count_interrupts in
>>> i915_pmu.c
>>> --- a/drivers/gpu/drm/i915/i915_pmu.c
>>> +++ b/drivers/gpu/drm/i915/i915_pmu.c
>>> @@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
>>> return HRTIMER_RESTART;
>>> }
>>>
>>> -static u64 count_interrupts(struct drm_i915_private *i915)
>>> -{
>>> - /* open-coded kstat_irqs() */
>>> - struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
>>> - u64 sum = 0;
>>> - int cpu;
>>> -
>>> - if (!desc || !desc->kstat_irqs)
>>> - return 0;
>>> -
>>> - for_each_possible_cpu(cpu)
>>> - sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
>>> -
>>> - return sum;
>>> -}
>>
>> May I ask why this has been merged in the first place?
>>
>> Nothing in a driver has ever to fiddle with the internals of an irq
>> descriptor. We have functions for properly accessing them. Just because
>> C allows to fiddle with everything is not a justification. If the
>> required function is not exported then adding the export with a proper
>> explanation is not asked too much.
>>
>> Also this lacks protection or at least a comment why this can be called
>> safely and is not subject to a concurrent removal of the irq descriptor.
>> The same problem exists when calling kstat_irqs(). It's even documented
>> at the top of the function.
>>
>> Thanks,
>>
>> tglx
>>
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-10 10:45 ` Tvrtko Ursulin
@ 2020-12-10 16:35 ` Thomas Gleixner
2020-12-10 17:09 ` Tvrtko Ursulin
0 siblings, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-10 16:35 UTC (permalink / raw)
To: Tvrtko Ursulin, Joonas Lahtinen, Jerry Snitselaar, linux-kernel,
Tvrtko Ursulin, Chris Wilson
Cc: David Airlie, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On Thu, Dec 10 2020 at 10:45, Tvrtko Ursulin wrote:
> On 10/12/2020 07:53, Joonas Lahtinen wrote:
>> I think later in the thread there was a suggestion to replace this with
>> simple counter increment in IRQ handler.
>
> It was indeed unsafe until recent b00bccb3f0bb ("drm/i915/pmu: Handle
> PCI unbind") but now should be fine.
>
> If kstat_irqs does not get exported it is easy enough for i915 to keep a
> local counter. Reasoning was very infrequent per cpu summation is much
> cheaper than very frequent atomic add. Up to thousands of interrupts per
> second vs "once per second" PMU read kind of thing.
Why do you need a atomic_add? It's ONE interrupt which can only be
executed on ONE CPU at a time. Interrupt handlers are non-reentrant.
The core code function will just return an accumulated counter nowadays
which is only 32bit wide, which is what the interface provided forever.
That needs to be fixed first.
Aside of that the accounting is wrong when the interrupt line is shared
because the core accounts interrupt per line not per device sharing the
line. Don't know whether you care or not.
I'll send out a series addressing irq_to_desc() (ab)use all over the
place shortly. i915 is in there...
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-10 16:35 ` Thomas Gleixner
@ 2020-12-10 17:09 ` Tvrtko Ursulin
2020-12-10 17:44 ` Thomas Gleixner
0 siblings, 1 reply; 33+ messages in thread
From: Tvrtko Ursulin @ 2020-12-10 17:09 UTC (permalink / raw)
To: Thomas Gleixner, Joonas Lahtinen, Jerry Snitselaar, linux-kernel,
Tvrtko Ursulin, Chris Wilson
Cc: David Airlie, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On 10/12/2020 16:35, Thomas Gleixner wrote:
> On Thu, Dec 10 2020 at 10:45, Tvrtko Ursulin wrote:
>> On 10/12/2020 07:53, Joonas Lahtinen wrote:
>>> I think later in the thread there was a suggestion to replace this with
>>> simple counter increment in IRQ handler.
>>
>> It was indeed unsafe until recent b00bccb3f0bb ("drm/i915/pmu: Handle
>> PCI unbind") but now should be fine.
>>
>> If kstat_irqs does not get exported it is easy enough for i915 to keep a
>> local counter. Reasoning was very infrequent per cpu summation is much
>> cheaper than very frequent atomic add. Up to thousands of interrupts per
>> second vs "once per second" PMU read kind of thing.
>
> Why do you need a atomic_add? It's ONE interrupt which can only be
> executed on ONE CPU at a time. Interrupt handlers are non-reentrant.
>
> The core code function will just return an accumulated counter nowadays
> which is only 32bit wide, which is what the interface provided forever.
> That needs to be fixed first.
>
> Aside of that the accounting is wrong when the interrupt line is shared
> because the core accounts interrupt per line not per device sharing the
> line. Don't know whether you care or not.
>
> I'll send out a series addressing irq_to_desc() (ab)use all over the
> place shortly. i915 is in there...
Yep we don't need atomic, my bad. And we would care about the shared
interrupt line. And without atomic the extra accounting falls way below
noise.
So in the light of it all, it sounds best I just quickly replace our
abuse with private counting and then you don't have to deal with it in
your series.
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-10 17:09 ` Tvrtko Ursulin
@ 2020-12-10 17:44 ` Thomas Gleixner
2020-12-10 17:51 ` Tvrtko Ursulin
0 siblings, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-10 17:44 UTC (permalink / raw)
To: Tvrtko Ursulin, Joonas Lahtinen, Jerry Snitselaar, linux-kernel,
Tvrtko Ursulin, Chris Wilson
Cc: David Airlie, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On Thu, Dec 10 2020 at 17:09, Tvrtko Ursulin wrote:
> On 10/12/2020 16:35, Thomas Gleixner wrote:
>> I'll send out a series addressing irq_to_desc() (ab)use all over the
>> place shortly. i915 is in there...
>
> Yep we don't need atomic, my bad. And we would care about the shared
> interrupt line. And without atomic the extra accounting falls way below
> noise.
You have to be careful though. If you make the accumulated counter 64
bit wide then you need to be careful vs. 32bit machines.
> So in the light of it all, it sounds best I just quickly replace our
> abuse with private counting and then you don't have to deal with it in
> your series.
I mostly have it. Still chewing on the 32bit vs. 64bit thing. And
keeping it in my series allows me to remove the export of irq_to_desc()
at the end without waiting for your tree to be merged.
Give me a few.
Thanks,
tglx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
2020-12-10 17:44 ` Thomas Gleixner
@ 2020-12-10 17:51 ` Tvrtko Ursulin
0 siblings, 0 replies; 33+ messages in thread
From: Tvrtko Ursulin @ 2020-12-10 17:51 UTC (permalink / raw)
To: Thomas Gleixner, Joonas Lahtinen, Jerry Snitselaar, linux-kernel,
Tvrtko Ursulin, Chris Wilson
Cc: David Airlie, Peter Zijlstra, intel-gfx, Matthew Garrett,
James Bottomley, Jason Gunthorpe, Jarkko Sakkinen, dri-devel,
linux-integrity, Peter Huewe
On 10/12/2020 17:44, Thomas Gleixner wrote:
> On Thu, Dec 10 2020 at 17:09, Tvrtko Ursulin wrote:
>> On 10/12/2020 16:35, Thomas Gleixner wrote:
>>> I'll send out a series addressing irq_to_desc() (ab)use all over the
>>> place shortly. i915 is in there...
>>
>> Yep we don't need atomic, my bad. And we would care about the shared
>> interrupt line. And without atomic the extra accounting falls way below
>> noise.
>
> You have to be careful though. If you make the accumulated counter 64
> bit wide then you need to be careful vs. 32bit machines.
Yep, thanks, I am bad jumping from one thing to another. Forgot about
the read side atomicity completely..
>> So in the light of it all, it sounds best I just quickly replace our
>> abuse with private counting and then you don't have to deal with it in
>> your series.
>
> I mostly have it. Still chewing on the 32bit vs. 64bit thing. And
> keeping it in my series allows me to remove the export of irq_to_desc()
> at the end without waiting for your tree to be merged.
>
> Give me a few.
Ok.
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 1/4] irq: export kstat_irqs Jerry Snitselaar
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count Jerry Snitselaar
@ 2020-12-05 1:43 ` Jerry Snitselaar
2020-12-06 19:26 ` Thomas Gleixner
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 4/4] tpm_tis: Disable Interrupts on the ThinkPad L490 Jerry Snitselaar
` (7 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-05 1:43 UTC (permalink / raw)
To: linux-kernel
Cc: intel-gfx, dri-devel, James Bottomley, Jason Gunthorpe,
Jarkko Sakkinen, Matthew Garrett, Peter Huewe, linux-integrity
When enabling the interrupt code for the tpm_tis driver we have
noticed some systems have a bios issue causing an interrupt storm to
occur. The issue isn't limited to a single tpm or system manufacturer
so keeping a denylist of systems with the issue isn't optimal. Instead
try to detect the problem occurring, disable interrupts, and revert to
polling when it happens.
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Peter Huewe <peterhuewe@gmx.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Matthew Garrett <mjg59@google.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
v3: - Change include from linux/kernel_stat.h to linux/irq.h
v2: - drop tpm_tis specific workqueue and use just system_w
drivers/char/tpm/tpm_tis_core.c | 27 +++++++++++++++++++++++++++
drivers/char/tpm/tpm_tis_core.h | 2 ++
2 files changed, 29 insertions(+)
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index 92c51c6cfd1b..d817ff5664d1 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -24,6 +24,8 @@
#include <linux/wait.h>
#include <linux/acpi.h>
#include <linux/freezer.h>
+#include <linux/workqueue.h>
+#include <linux/irq.h>
#include "tpm.h"
#include "tpm_tis_core.h"
@@ -715,9 +717,23 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
{
struct tpm_chip *chip = dev_id;
struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
+ static bool check_storm = true;
+ static unsigned int check_start;
u32 interrupt;
int i, rc;
+ if (unlikely(check_storm)) {
+ if (!check_start) {
+ check_start = jiffies_to_msecs(jiffies);
+ } else if ((kstat_irqs(priv->irq) > 1000) &&
+ (jiffies_to_msecs(jiffies) - check_start < 500)) {
+ check_storm = false;
+ schedule_work(&priv->storm_work);
+ } else if (jiffies_to_msecs(jiffies) - check_start >= 500) {
+ check_storm = false;
+ }
+ }
+
rc = tpm_tis_read32(priv, TPM_INT_STATUS(priv->locality), &interrupt);
if (rc < 0)
return IRQ_NONE;
@@ -943,6 +959,14 @@ static const struct tpm_class_ops tpm_tis = {
.clk_enable = tpm_tis_clkrun_enable,
};
+static void tpm_tis_storm_work(struct work_struct *work)
+{
+ struct tpm_tis_data *priv = container_of(work, struct tpm_tis_data, storm_work);
+
+ disable_interrupts(priv->chip);
+ dev_warn(&priv->chip->dev, "Interrupt storm detected, using polling.\n");
+}
+
int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
const struct tpm_tis_phy_ops *phy_ops,
acpi_handle acpi_dev_handle)
@@ -959,6 +983,9 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
if (IS_ERR(chip))
return PTR_ERR(chip);
+ priv->chip = chip;
+ INIT_WORK(&priv->storm_work, tpm_tis_storm_work);
+
#ifdef CONFIG_ACPI
chip->acpi_dev_handle = acpi_dev_handle;
#endif
diff --git a/drivers/char/tpm/tpm_tis_core.h b/drivers/char/tpm/tpm_tis_core.h
index 9b2d32a59f67..973297ee2e16 100644
--- a/drivers/char/tpm/tpm_tis_core.h
+++ b/drivers/char/tpm/tpm_tis_core.h
@@ -95,6 +95,8 @@ struct tpm_tis_data {
u16 clkrun_enabled;
wait_queue_head_t int_queue;
wait_queue_head_t read_queue;
+ struct work_struct storm_work;
+ struct tpm_chip *chip;
const struct tpm_tis_phy_ops *phy_ops;
unsigned short rng_quality;
};
--
2.27.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [Intel-gfx] [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected Jerry Snitselaar
@ 2020-12-06 19:26 ` Thomas Gleixner
[not found] ` <20201207192803.GH5487@ziepe.ca>
0 siblings, 1 reply; 33+ messages in thread
From: Thomas Gleixner @ 2020-12-06 19:26 UTC (permalink / raw)
To: Jerry Snitselaar, linux-kernel
Cc: intel-gfx, dri-devel, James Bottomley, Jason Gunthorpe,
Jarkko Sakkinen, Matthew Garrett, Peter Huewe, linux-integrity
Jerry,
On Fri, Dec 04 2020 at 18:43, Jerry Snitselaar wrote:
> @@ -715,9 +717,23 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
> {
> struct tpm_chip *chip = dev_id;
> struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
> + static bool check_storm = true;
> + static unsigned int check_start;
So this assumes that there can't be two TPMs which is probably true, but
everything else in this driver has stuff in tpm_tis_data per device.
> u32 interrupt;
> int i, rc;
>
> + if (unlikely(check_storm)) {
> + if (!check_start) {
> + check_start = jiffies_to_msecs(jiffies);
Yuck. I had to read that twice to figure out that it's correct vs. the
truncation of the result to unsigned int. You can spare that conversion
by simply doing
unsigned long end_of_check = jiffies + HZ / 2;
and then the check becomes
time_before(jiffies, end_of_check)
> + } else if ((kstat_irqs(priv->irq) > 1000) &&
> + (jiffies_to_msecs(jiffies) - check_start < 500)) {
I assume you can't call disable_irq_nosync() here, but shouldn't this
shut up the interrupt at the TPM level right here?
> + check_storm = false;
> + schedule_work(&priv->storm_work);
> + } else if (jiffies_to_msecs(jiffies) - check_start >= 500) {
> + check_storm = false;
> + }
> + }
So back to kstat_irqs(). As this needs two extra variables anyway:
init()
priv->irq_check = 1;
priv->end_check = 0;
isr()
if (unlikely(priv->irq_check)) {
if (!priv->end_check) {
priv->end_check = jiffies + HZ / 2;
} else if (time_before(jiffies, priv->end_check)) {
if (priv->irq_check++ > 1000)
schedule_work(...);
} else {
priv->irq_check = 0;
}
}
Hmm? I still need to see an argument for an kstat_irqs() export being
superior.
Though I wonder whether such an infrastructure should be provided in the
irq core. Let me think about it.
Just as a side note. I was looking at tpm_tis_probe_irq_single() and
that function is leaking the interrupt request if any of the checks
afterwards fails, except for the final interrupt probe check which does
a cleanup. That means on fail before that the interrupt handler stays
requested up to the point where the module is removed. If that's a
shared interrupt and some other device is active on the same line, then
each interrupt from that device will call into the TPM code. Something
like the below is needed.
Also the X86 autoprobe mechanism is interesting:
if (IS_ENABLED(CONFIG_X86))
for (i = 3; i <= 15; i++)
if (!tpm_tis_probe_irq_single(chip, intmask, 0, i))
return;
The third argument is 'flags' which is handed to request_irq(). So that
won't ever be able to probe a shared interrupt. But if an interrupt
number > 0 is handed to tpm_tis_core_init() the interrupt is requested
with IRQF_SHARED. Same issue when the chip has an interrupt number in
the register. It's also requested exclusive which is pretty likely
to fail on ancient x86 machines.
The vast amount of comments didn't help to figure out what the reasoning
is.
Thanks,
tglx
---
drivers/char/tpm/tpm_tis_core.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -782,26 +782,26 @@ static int tpm_tis_probe_irq_single(stru
rc = tpm_tis_read8(priv, TPM_INT_VECTOR(priv->locality),
&original_int_vec);
if (rc < 0)
- return rc;
+ goto fail;
rc = tpm_tis_write8(priv, TPM_INT_VECTOR(priv->locality), irq);
if (rc < 0)
- return rc;
+ goto fail;
rc = tpm_tis_read32(priv, TPM_INT_STATUS(priv->locality), &int_status);
if (rc < 0)
- return rc;
+ goto fail;
/* Clear all existing */
rc = tpm_tis_write32(priv, TPM_INT_STATUS(priv->locality), int_status);
if (rc < 0)
- return rc;
+ goto fail;
/* Turn on */
rc = tpm_tis_write32(priv, TPM_INT_ENABLE(priv->locality),
intmask | TPM_GLOBAL_INT_ENABLE);
if (rc < 0)
- return rc;
+ goto fail;
priv->irq_tested = false;
@@ -825,6 +825,10 @@ static int tpm_tis_probe_irq_single(stru
}
return 0;
+
+fail:
+ disable_interrupts(chip);
+ return rc;
}
/* Try to find the IRQ the TPM is using. This is for legacy x86 systems that
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] [PATCH v3 4/4] tpm_tis: Disable Interrupts on the ThinkPad L490
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (2 preceding siblings ...)
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected Jerry Snitselaar
@ 2020-12-05 1:43 ` Jerry Snitselaar
2020-12-05 1:55 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for tpm_tis: Detect interrupt storms Patchwork
` (6 subsequent siblings)
10 siblings, 0 replies; 33+ messages in thread
From: Jerry Snitselaar @ 2020-12-05 1:43 UTC (permalink / raw)
To: linux-kernel
Cc: intel-gfx, dri-devel, James Bottomley, Jason Gunthorpe,
Jarkko Sakkinen, Matthew Garrett, Peter Huewe, linux-integrity
The interrupt storm detection code detects the issue on the ThinkPad
T490s, but the L490 still hangs at initialization. So swap out the
T490s for the L490 in the dmi check.
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Peter Huewe <peterhuewe@gmx.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Matthew Garrett <mjg59@google.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
drivers/char/tpm/tpm_tis.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 4ed6e660273a..7322e0986a83 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -77,10 +77,10 @@ static int tpm_tis_disable_irq(const struct dmi_system_id *d)
static const struct dmi_system_id tpm_tis_dmi_table[] = {
{
.callback = tpm_tis_disable_irq,
- .ident = "ThinkPad T490s",
+ .ident = "ThinkPad L490",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
- DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T490s"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad L490"),
},
},
{}
--
2.27.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for tpm_tis: Detect interrupt storms
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (3 preceding siblings ...)
2020-12-05 1:43 ` [Intel-gfx] [PATCH v3 4/4] tpm_tis: Disable Interrupts on the ThinkPad L490 Jerry Snitselaar
@ 2020-12-05 1:55 ` Patchwork
2020-12-05 2:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
` (5 subsequent siblings)
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-05 1:55 UTC (permalink / raw)
To: Jerry Snitselaar; +Cc: intel-gfx
== Series Details ==
Series: tpm_tis: Detect interrupt storms
URL : https://patchwork.freedesktop.org/series/84608/
State : warning
== Summary ==
$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:257:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:261:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for tpm_tis: Detect interrupt storms
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (4 preceding siblings ...)
2020-12-05 1:55 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for tpm_tis: Detect interrupt storms Patchwork
@ 2020-12-05 2:25 ` Patchwork
2020-12-05 5:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
` (4 subsequent siblings)
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-05 2:25 UTC (permalink / raw)
To: Jerry Snitselaar; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 3142 bytes --]
== Series Details ==
Series: tpm_tis: Detect interrupt storms
URL : https://patchwork.freedesktop.org/series/84608/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9445 -> Patchwork_19068
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/index.html
New tests
---------
New tests have been introduced between CI_DRM_9445 and Patchwork_19068:
### New CI tests (1) ###
* boot:
- Statuses : 1 fail(s) 37 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_19068 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_basic@create-close:
- fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/fi-tgl-y/igt@gem_basic@create-close.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/fi-tgl-y/igt@gem_basic@create-close.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-tgl-y: [PASS][3] -> [DMESG-FAIL][4] ([i915#2601])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/fi-tgl-y/igt@i915_selftest@live@gt_heartbeat.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/fi-tgl-y/igt@i915_selftest@live@gt_heartbeat.html
#### Possible fixes ####
* igt@gem_basic@create-fd-close:
- fi-tgl-y: [DMESG-WARN][5] ([i915#402]) -> [PASS][6] +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/fi-tgl-y/igt@gem_basic@create-fd-close.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/fi-tgl-y/igt@gem_basic@create-fd-close.html
* igt@gem_exec_suspend@basic-s3:
- fi-snb-2600: [INCOMPLETE][7] -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/fi-snb-2600/igt@gem_exec_suspend@basic-s3.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/fi-snb-2600/igt@gem_exec_suspend@basic-s3.html
[i915#2601]: https://gitlab.freedesktop.org/drm/intel/issues/2601
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
Participating hosts (43 -> 38)
------------------------------
Missing (5): fi-ilk-m540 fi-cml-s fi-hsw-4200u fi-bsw-cyan fi-bdw-samus
Build changes
-------------
* Linux: CI_DRM_9445 -> Patchwork_19068
CI-20190529: 20190529
CI_DRM_9445: 2e3d245730b4ce190e96d9731a2a6f06bb0ec57a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5881: 10d4e2e9177eb747b9f2ab9122e3ab60e91654fb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19068: 6c83347a790e974258695626a9027419c62e5a76 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
6c83347a790e tpm_tis: Disable Interrupts on the ThinkPad L490
d3237e7109ec tpm_tis: Disable interrupts if interrupt storm detected
f747809abcdd drm/i915/pmu: Use kstat_irqs to get interrupt count
2ce4abcffe25 irq: export kstat_irqs
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/index.html
[-- Attachment #1.2: Type: text/html, Size: 3955 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for tpm_tis: Detect interrupt storms
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (5 preceding siblings ...)
2020-12-05 2:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-12-05 5:32 ` Patchwork
2020-12-06 19:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for tpm_tis: Detect interrupt storms (rev2) Patchwork
` (3 subsequent siblings)
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-05 5:32 UTC (permalink / raw)
To: Jerry Snitselaar; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 15513 bytes --]
== Series Details ==
Series: tpm_tis: Detect interrupt storms
URL : https://patchwork.freedesktop.org/series/84608/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9445_full -> Patchwork_19068_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_19068_full:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@gem_ctx_exec@basic-close-race}:
- shard-apl: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-apl3/igt@gem_ctx_exec@basic-close-race.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-apl1/igt@gem_ctx_exec@basic-close-race.html
- shard-kbl: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-kbl3/igt@gem_ctx_exec@basic-close-race.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl4/igt@gem_ctx_exec@basic-close-race.html
New tests
---------
New tests have been introduced between CI_DRM_9445_full and Patchwork_19068_full:
### New CI tests (1) ###
* boot:
- Statuses : 174 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_19068_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_softpin@noreloc-s3:
- shard-apl: [PASS][5] -> [INCOMPLETE][6] ([i915#2405])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-apl4/igt@gem_softpin@noreloc-s3.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-apl4/igt@gem_softpin@noreloc-s3.html
* igt@i915_suspend@forcewake:
- shard-kbl: [PASS][7] -> [INCOMPLETE][8] ([i915#155] / [i915#180] / [i915#636])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-kbl7/igt@i915_suspend@forcewake.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl7/igt@i915_suspend@forcewake.html
* igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding:
- shard-skl: [PASS][9] -> [FAIL][10] ([i915#54]) +2 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl8/igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl3/igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
- shard-skl: [PASS][11] -> [FAIL][12] ([i915#79])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
* igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1:
- shard-skl: [PASS][13] -> [FAIL][14] ([i915#2122])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl4/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl4/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
- shard-apl: [PASS][15] -> [FAIL][16] ([i915#49])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-apl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-apl2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
- shard-glk: [PASS][17] -> [FAIL][18] ([i915#49])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-glk2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-glk8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
- shard-kbl: [PASS][19] -> [FAIL][20] ([i915#49])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-skl: [PASS][21] -> [FAIL][22] ([i915#1188])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl4/igt@kms_hdr@bpc-switch-suspend.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl7/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl10/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb1/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@perf@polling-parameterized:
- shard-glk: [PASS][27] -> [FAIL][28] ([i915#1542])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-glk9/igt@perf@polling-parameterized.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-glk3/igt@perf@polling-parameterized.html
#### Possible fixes ####
* {igt@gem_ctx_exec@basic-close-race}:
- shard-skl: [INCOMPLETE][29] -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl1/igt@gem_ctx_exec@basic-close-race.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl9/igt@gem_ctx_exec@basic-close-race.html
* igt@gem_exec_whisper@basic-contexts-priority:
- shard-iclb: [INCOMPLETE][31] -> [PASS][32] +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb5/igt@gem_exec_whisper@basic-contexts-priority.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb6/igt@gem_exec_whisper@basic-contexts-priority.html
* igt@gem_exec_whisper@basic-fds-priority:
- shard-glk: [DMESG-WARN][33] ([i915#118] / [i915#95]) -> [PASS][34] +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-glk8/igt@gem_exec_whisper@basic-fds-priority.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-glk9/igt@gem_exec_whisper@basic-fds-priority.html
* igt@gem_mmap_offset@clear:
- shard-skl: [DMESG-WARN][35] ([i915#1982]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl9/igt@gem_mmap_offset@clear.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl4/igt@gem_mmap_offset@clear.html
* igt@kms_dp_aux_dev:
- shard-iclb: [DMESG-WARN][37] ([i915#262]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb7/igt@kms_dp_aux_dev.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb7/igt@kms_dp_aux_dev.html
* igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1:
- shard-glk: [FAIL][39] ([i915#79]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
* igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-c:
- shard-skl: [FAIL][41] -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl7/igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-c.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl6/igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-c.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-skl: [FAIL][43] ([i915#49]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl9/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl: [FAIL][45] ([fdo#108145] / [i915#265]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
* igt@kms_plane_lowres@pipe-b-tiling-yf:
- shard-iclb: [FAIL][47] ([i915#899]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb6/igt@kms_plane_lowres@pipe-b-tiling-yf.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb8/igt@kms_plane_lowres@pipe-b-tiling-yf.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [SKIP][49] ([fdo#109642] / [fdo#111068]) -> [PASS][50] +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb8/igt@kms_psr2_su@frontbuffer.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_basic:
- shard-iclb: [SKIP][51] ([fdo#109441]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb5/igt@kms_psr@psr2_basic.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb2/igt@kms_psr@psr2_basic.html
* igt@perf@polling-parameterized:
- shard-skl: [FAIL][53] ([i915#1542]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-skl5/igt@perf@polling-parameterized.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-skl9/igt@perf@polling-parameterized.html
#### Warnings ####
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-iclb: [WARN][55] ([i915#2681] / [i915#2684]) -> [WARN][56] ([i915#1804] / [i915#2684])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb8/igt@i915_pm_rc6_residency@rc6-fence.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: [WARN][57] ([i915#2684]) -> [WARN][58] ([i915#2681] / [i915#2684])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-iclb1/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-tglb: [INCOMPLETE][59] ([i915#1602] / [i915#2411] / [i915#456]) -> [DMESG-WARN][60] ([i915#1436] / [i915#1602] / [i915#1887] / [i915#2411])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-tglb8/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-tglb6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
* igt@runner@aborted:
- shard-kbl: ([FAIL][61], [FAIL][62]) ([i915#1814] / [i915#2295] / [i915#2722] / [i915#483] / [i915#602]) -> ([FAIL][63], [FAIL][64], [FAIL][65]) ([i915#2295] / [i915#2722] / [i915#483])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-kbl7/igt@runner@aborted.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9445/shard-kbl4/igt@runner@aborted.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl4/igt@runner@aborted.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl1/igt@runner@aborted.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/shard-kbl7/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
[i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
[i915#1887]: https://gitlab.freedesktop.org/drm/intel/issues/1887
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295
[i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#602]: https://gitlab.freedesktop.org/drm/intel/issues/602
[i915#636]: https://gitlab.freedesktop.org/drm/intel/issues/636
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Build changes
-------------
* Linux: CI_DRM_9445 -> Patchwork_19068
CI-20190529: 20190529
CI_DRM_9445: 2e3d245730b4ce190e96d9731a2a6f06bb0ec57a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5881: 10d4e2e9177eb747b9f2ab9122e3ab60e91654fb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19068: 6c83347a790e974258695626a9027419c62e5a76 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19068/index.html
[-- Attachment #1.2: Type: text/html, Size: 18251 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for tpm_tis: Detect interrupt storms (rev2)
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (6 preceding siblings ...)
2020-12-05 5:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2020-12-06 19:50 ` Patchwork
2020-12-06 19:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-06 19:50 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: intel-gfx
== Series Details ==
Series: tpm_tis: Detect interrupt storms (rev2)
URL : https://patchwork.freedesktop.org/series/84608/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
f8859e000a36 irq: export kstat_irqs
f275d76d2070 drm/i915/pmu: Use kstat_irqs to get interrupt count
61225780bab4 tpm_tis: Disable interrupts if interrupt storm detected
-:9: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#9:
> @@ -715,9 +717,23 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
-:149: ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)
total: 1 errors, 1 warnings, 0 checks, 41 lines checked
605edf549fde tpm_tis: Disable Interrupts on the ThinkPad L490
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for tpm_tis: Detect interrupt storms (rev2)
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (7 preceding siblings ...)
2020-12-06 19:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for tpm_tis: Detect interrupt storms (rev2) Patchwork
@ 2020-12-06 19:51 ` Patchwork
2020-12-06 20:22 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-12-06 21:59 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-06 19:51 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: intel-gfx
== Series Details ==
Series: tpm_tis: Detect interrupt storms (rev2)
URL : https://patchwork.freedesktop.org/series/84608/
State : warning
== Summary ==
$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:257:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:261:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for tpm_tis: Detect interrupt storms (rev2)
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (8 preceding siblings ...)
2020-12-06 19:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2020-12-06 20:22 ` Patchwork
2020-12-06 21:59 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-06 20:22 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 2541 bytes --]
== Series Details ==
Series: tpm_tis: Detect interrupt storms (rev2)
URL : https://patchwork.freedesktop.org/series/84608/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9450 -> Patchwork_19072
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/index.html
New tests
---------
New tests have been introduced between CI_DRM_9450 and Patchwork_19072:
### New CI tests (1) ###
* boot:
- Statuses : 1 fail(s) 38 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_19072 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_getparams_basic@basic-subslice-total:
- fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
#### Possible fixes ####
* igt@prime_self_import@basic-with_one_bo_two_files:
- fi-tgl-y: [DMESG-WARN][3] ([i915#402]) -> [PASS][4] +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/fi-tgl-y/igt@prime_self_import@basic-with_one_bo_two_files.html
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
Participating hosts (43 -> 39)
------------------------------
Missing (4): fi-ilk-m540 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u
Build changes
-------------
* Linux: CI_DRM_9450 -> Patchwork_19072
CI-20190529: 20190529
CI_DRM_9450: 83b8d6ab0631ef13a095c7818d3c2c40f52f42ce @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5881: 10d4e2e9177eb747b9f2ab9122e3ab60e91654fb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19072: 605edf549fdee6b005f49176d476260cd18cf306 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
605edf549fde tpm_tis: Disable Interrupts on the ThinkPad L490
61225780bab4 tpm_tis: Disable interrupts if interrupt storm detected
f275d76d2070 drm/i915/pmu: Use kstat_irqs to get interrupt count
f8859e000a36 irq: export kstat_irqs
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/index.html
[-- Attachment #1.2: Type: text/html, Size: 3275 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for tpm_tis: Detect interrupt storms (rev2)
2020-12-05 1:43 [Intel-gfx] [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
` (9 preceding siblings ...)
2020-12-06 20:22 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-12-06 21:59 ` Patchwork
10 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2020-12-06 21:59 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 11889 bytes --]
== Series Details ==
Series: tpm_tis: Detect interrupt storms (rev2)
URL : https://patchwork.freedesktop.org/series/84608/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9450_full -> Patchwork_19072_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
New tests
---------
New tests have been introduced between CI_DRM_9450_full and Patchwork_19072_full:
### New CI tests (1) ###
* boot:
- Statuses : 200 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_19072_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_softpin@noreloc-s3:
- shard-apl: [PASS][1] -> [INCOMPLETE][2] ([i915#2405])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-apl6/igt@gem_softpin@noreloc-s3.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-apl2/igt@gem_softpin@noreloc-s3.html
* igt@kms_cursor_crc@pipe-b-cursor-suspend:
- shard-skl: [PASS][3] -> [INCOMPLETE][4] ([i915#2405] / [i915#300])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-hsw: [PASS][5] -> [FAIL][6] ([i915#96])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-hsw2/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-tglb: [PASS][7] -> [FAIL][8] ([i915#2346])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-tglb2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-tglb1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
- shard-apl: [PASS][9] -> [FAIL][10] ([i915#49])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-apl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
- shard-glk: [PASS][11] -> [FAIL][12] ([i915#49]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-glk1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-glk4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
- shard-kbl: [PASS][13] -> [FAIL][14] ([i915#49])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-skl: [PASS][15] -> [FAIL][16] ([i915#1188])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl9/igt@kms_hdr@bpc-switch-suspend.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl7/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [PASS][17] -> [FAIL][18] ([fdo#108145] / [i915#265]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-iclb7/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_basic:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-iclb2/igt@kms_psr@psr2_basic.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-iclb8/igt@kms_psr@psr2_basic.html
#### Possible fixes ####
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-skl: [FAIL][23] ([i915#54]) -> [PASS][24] +2 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl9/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-skl: [FAIL][25] ([i915#1188]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl3/igt@kms_hdr@bpc-switch-dpms.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl2/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: [SKIP][27] ([fdo#109441]) -> [PASS][28] +2 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
* igt@sysfs_heartbeat_interval@mixed@vecs0:
- shard-skl: [FAIL][29] ([i915#1731]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-skl8/igt@sysfs_heartbeat_interval@mixed@vecs0.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-skl2/igt@sysfs_heartbeat_interval@mixed@vecs0.html
#### Warnings ####
* igt@gem_ctx_isolation@preservation-s3@rcs0:
- shard-kbl: [INCOMPLETE][31] ([i915#794]) -> [INCOMPLETE][32] ([i915#1602] / [i915#794])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@rcs0.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: [WARN][33] ([i915#2681] / [i915#2684]) -> [WARN][34] ([i915#1804] / [i915#2684])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-iclb8/igt@i915_pm_rc6_residency@rc6-idle.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-iclb6/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [SKIP][35] ([fdo#109349]) -> [DMESG-WARN][36] ([i915#1226])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-iclb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-tglb: [INCOMPLETE][37] ([i915#1602] / [i915#2411] / [i915#456]) -> [INCOMPLETE][38] ([i915#1436] / [i915#1602] / [i915#1887] / [i915#2411] / [i915#456])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-tglb8/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-tglb6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
* igt@runner@aborted:
- shard-hsw: ([FAIL][39], [FAIL][40]) ([i915#1436] / [i915#2295]) -> ([FAIL][41], [FAIL][42]) ([i915#1436] / [i915#2295] / [i915#483])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-hsw2/igt@runner@aborted.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-hsw2/igt@runner@aborted.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-hsw2/igt@runner@aborted.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-hsw1/igt@runner@aborted.html
- shard-kbl: ([FAIL][43], [FAIL][44]) ([i915#1814] / [i915#2295] / [i915#2722] / [i915#483] / [i915#602]) -> ([FAIL][45], [FAIL][46], [FAIL][47]) ([i915#1436] / [i915#1814] / [i915#2295] / [i915#2722] / [i915#483] / [i915#602])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-kbl3/igt@runner@aborted.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9450/shard-kbl1/igt@runner@aborted.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-kbl7/igt@runner@aborted.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-kbl7/igt@runner@aborted.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/shard-kbl4/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
[i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731
[i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
[i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
[i915#1887]: https://gitlab.freedesktop.org/drm/intel/issues/1887
[i915#2245]: https://gitlab.freedesktop.org/drm/intel/issues/2245
[i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
[i915#300]: https://gitlab.freedesktop.org/drm/intel/issues/300
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#602]: https://gitlab.freedesktop.org/drm/intel/issues/602
[i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794
[i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Build changes
-------------
* Linux: CI_DRM_9450 -> Patchwork_19072
CI-20190529: 20190529
CI_DRM_9450: 83b8d6ab0631ef13a095c7818d3c2c40f52f42ce @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5881: 10d4e2e9177eb747b9f2ab9122e3ab60e91654fb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19072: 605edf549fdee6b005f49176d476260cd18cf306 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19072/index.html
[-- Attachment #1.2: Type: text/html, Size: 14533 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 33+ messages in thread