* [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose
@ 2018-11-26 8:52 Arkadiusz Hiler
2018-11-26 9:12 ` Chris Wilson
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Arkadiusz Hiler @ 2018-11-26 8:52 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala, Martin Peres
Provide the reader with the taint names and a short explanation, as well
as point in the direction of the dmesg for more details.
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
runner/executor.c | 42 ++++++++++++++++++++++++++++++++----------
1 file changed, 32 insertions(+), 10 deletions(-)
diff --git a/runner/executor.c b/runner/executor.c
index 2038c3fd..954cd9a7 100644
--- a/runner/executor.c
+++ b/runner/executor.c
@@ -139,24 +139,46 @@ static char *handle_lockdep(void)
static char *handle_taint(void)
{
- const unsigned long bad_taints =
- 0x20 | /* TAINT_PAGE */
- 0x80 | /* TAINT_DIE */
- 0x200; /* TAINT_OOPS */
- unsigned long taints = 0;
+ /* see Linux's include/linux/kernel.h */
+ static const struct {
+ unsigned long bit;
+ const char *explanation;
+ } taints[] = {
+ {(1 << 5), "TAINT_BAD_PAGE: Bad page reference or an unexpected page flags."},
+ {(1 << 7), "TAINT_DIE: Kernel has died - BUG/OOPS."},
+ {(1 << 9), "TAINT_WARN: WARN_ON has happened."},
+ {0, 0}};
+
+ unsigned long system_taints = 0;
char *reason = NULL;
FILE *f;
+ unsigned long bad_taints = 0;
+ for (typeof(*taints) *taint = taints; taint->bit; taint++)
+ bad_taints |= taint->bit;
+
f = fopen("/proc/sys/kernel/tainted", "r");
if (f) {
- fscanf(f, "%lu", &taints);
+ fscanf(f, "%lu", &system_taints);
fclose(f);
}
- if (taints & bad_taints)
- asprintf(&reason,
- "Kernel tainted (%#lx -- %lx)",
- taints, taints & bad_taints);
+ if (system_taints & bad_taints) {
+ asprintf(&reason, "Kernel badly tainted (%#lx) "
+ "(check dmesg for details if possible):\n",
+ system_taints);
+
+ for (typeof(*taints) *taint = taints; taint->bit; taint++) {
+ if (taint->bit & system_taints) {
+ char *old_reason = reason;
+ asprintf(&reason, "%s\t(%#lx) %s\n",
+ old_reason,
+ taint->bit,
+ taint->explanation);
+ free(old_reason);
+ }
+ }
+ }
return reason;
}
--
2.19.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose
2018-11-26 8:52 [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose Arkadiusz Hiler
@ 2018-11-26 9:12 ` Chris Wilson
2018-11-26 10:36 ` Arkadiusz Hiler
2018-11-26 13:26 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-11-26 17:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2018-11-26 9:12 UTC (permalink / raw)
To: Arkadiusz Hiler, igt-dev; +Cc: Petri Latvala, Martin Peres
Quoting Arkadiusz Hiler (2018-11-26 08:52:22)
> Provide the reader with the taint names and a short explanation, as well
> as point in the direction of the dmesg for more details.
>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Martin Peres <martin.peres@linux.intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> runner/executor.c | 42 ++++++++++++++++++++++++++++++++----------
> 1 file changed, 32 insertions(+), 10 deletions(-)
>
> diff --git a/runner/executor.c b/runner/executor.c
> index 2038c3fd..954cd9a7 100644
> --- a/runner/executor.c
> +++ b/runner/executor.c
> @@ -139,24 +139,46 @@ static char *handle_lockdep(void)
>
> static char *handle_taint(void)
> {
> - const unsigned long bad_taints =
> - 0x20 | /* TAINT_PAGE */
> - 0x80 | /* TAINT_DIE */
> - 0x200; /* TAINT_OOPS */
> - unsigned long taints = 0;
> + /* see Linux's include/linux/kernel.h */
> + static const struct {
> + unsigned long bit;
> + const char *explanation;
> + } taints[] = {
> + {(1 << 5), "TAINT_BAD_PAGE: Bad page reference or an unexpected page flags."},
> + {(1 << 7), "TAINT_DIE: Kernel has died - BUG/OOPS."},
> + {(1 << 9), "TAINT_WARN: WARN_ON has happened."},
Pure noise, these don't add any useful information, so why? The only
information is the explanation in dmesg. Checking tainted is just
shorthand for us to determine a significant event.
If you want to add the kmsg output filtered by WARN+, that would be more
useful than hinting to the user they need to do it themselves. But that
should be redundant as that is already part of the runner -- so is not
the problem the actual integration, that this appears as a separate test
and not flagging the igt itself, with exceptions to handle tainted
before a test?
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose
2018-11-26 9:12 ` Chris Wilson
@ 2018-11-26 10:36 ` Arkadiusz Hiler
2018-11-26 12:22 ` Petri Latvala
0 siblings, 1 reply; 7+ messages in thread
From: Arkadiusz Hiler @ 2018-11-26 10:36 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev, Petri Latvala, Martin Peres
On Mon, Nov 26, 2018 at 09:12:46AM +0000, Chris Wilson wrote:
> Quoting Arkadiusz Hiler (2018-11-26 08:52:22)
> > Provide the reader with the taint names and a short explanation, as well
> > as point in the direction of the dmesg for more details.
> >
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Cc: Martin Peres <martin.peres@linux.intel.com>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> > runner/executor.c | 42 ++++++++++++++++++++++++++++++++----------
> > 1 file changed, 32 insertions(+), 10 deletions(-)
> >
> > diff --git a/runner/executor.c b/runner/executor.c
> > index 2038c3fd..954cd9a7 100644
> > --- a/runner/executor.c
> > +++ b/runner/executor.c
> > @@ -139,24 +139,46 @@ static char *handle_lockdep(void)
> >
> > static char *handle_taint(void)
> > {
> > - const unsigned long bad_taints =
> > - 0x20 | /* TAINT_PAGE */
> > - 0x80 | /* TAINT_DIE */
> > - 0x200; /* TAINT_OOPS */
> > - unsigned long taints = 0;
> > + /* see Linux's include/linux/kernel.h */
> > + static const struct {
> > + unsigned long bit;
> > + const char *explanation;
> > + } taints[] = {
> > + {(1 << 5), "TAINT_BAD_PAGE: Bad page reference or an unexpected page flags."},
> > + {(1 << 7), "TAINT_DIE: Kernel has died - BUG/OOPS."},
> > + {(1 << 9), "TAINT_WARN: WARN_ON has happened."},
>
> Pure noise, these don't add any useful information, so why? The only
> information is the explanation in dmesg. Checking tainted is just
> shorthand for us to determine a significant event.
People not knowing what taint means (or that it is a "bit field") were
getting confused by those aborts. I just got tired of explaining that we
don't check for "unsafe module option taint" which is usually the first
result they get while greping dmesg for "taint".
> If you want to add the kmsg output filtered by WARN+, that would be more
> useful than hinting to the user they need to do it themselves. But that
> should be redundant as that is already part of the runner -- so is not
> the problem the actual integration, that this appears as a separate test
> and not flagging the igt itself, with exceptions to handle tainted
> before a test?
> -Chris
Providing more logs, as a part of the aborted results, indeed sounds
good, but it is harder to implement, as we would have to keep track of
dmesg between taint checks too. Petri, what do you think?
I believe that this is, for now, a good middle ground. We give people
more context, explain what we hit so they know that they have to look
for a warn, oops or a slab spill in the logs.
--
Cheers,
Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose
2018-11-26 10:36 ` Arkadiusz Hiler
@ 2018-11-26 12:22 ` Petri Latvala
2019-03-27 11:19 ` Petri Latvala
0 siblings, 1 reply; 7+ messages in thread
From: Petri Latvala @ 2018-11-26 12:22 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev, Martin Peres
On Mon, Nov 26, 2018 at 12:36:44PM +0200, Arkadiusz Hiler wrote:
> On Mon, Nov 26, 2018 at 09:12:46AM +0000, Chris Wilson wrote:
> > Quoting Arkadiusz Hiler (2018-11-26 08:52:22)
> > > Provide the reader with the taint names and a short explanation, as well
> > > as point in the direction of the dmesg for more details.
> > >
> > > Cc: Petri Latvala <petri.latvala@intel.com>
> > > Cc: Martin Peres <martin.peres@linux.intel.com>
> > > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > > ---
> > > runner/executor.c | 42 ++++++++++++++++++++++++++++++++----------
> > > 1 file changed, 32 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/runner/executor.c b/runner/executor.c
> > > index 2038c3fd..954cd9a7 100644
> > > --- a/runner/executor.c
> > > +++ b/runner/executor.c
> > > @@ -139,24 +139,46 @@ static char *handle_lockdep(void)
> > >
> > > static char *handle_taint(void)
> > > {
> > > - const unsigned long bad_taints =
> > > - 0x20 | /* TAINT_PAGE */
> > > - 0x80 | /* TAINT_DIE */
> > > - 0x200; /* TAINT_OOPS */
> > > - unsigned long taints = 0;
> > > + /* see Linux's include/linux/kernel.h */
> > > + static const struct {
> > > + unsigned long bit;
> > > + const char *explanation;
> > > + } taints[] = {
> > > + {(1 << 5), "TAINT_BAD_PAGE: Bad page reference or an unexpected page flags."},
> > > + {(1 << 7), "TAINT_DIE: Kernel has died - BUG/OOPS."},
> > > + {(1 << 9), "TAINT_WARN: WARN_ON has happened."},
> >
> > Pure noise, these don't add any useful information, so why? The only
> > information is the explanation in dmesg. Checking tainted is just
> > shorthand for us to determine a significant event.
>
> People not knowing what taint means (or that it is a "bit field") were
> getting confused by those aborts. I just got tired of explaining that we
> don't check for "unsafe module option taint" which is usually the first
> result they get while greping dmesg for "taint".
Yeah this has been causing confusion in all kinds of circles.
In general it's always better to explain numbers in outputs meant for
humans. Surely if people ask about stuff, adding explanations to it is
useful information by definition?
>
> > If you want to add the kmsg output filtered by WARN+, that would be more
> > useful than hinting to the user they need to do it themselves. But that
> > should be redundant as that is already part of the runner -- so is not
> > the problem the actual integration, that this appears as a separate test
> > and not flagging the igt itself, with exceptions to handle tainted
> > before a test?
> > -Chris
>
> Providing more logs, as a part of the aborted results, indeed sounds
> good, but it is harder to implement, as we would have to keep track of
> dmesg between taint checks too. Petri, what do you think?
It's possible [citation needed] to inject the previous test
execution's dmesg into the aborted test result, but only in the form
of igt_runner CI is using today. Resuming, especially when using
multiple-mode, will make it harder. Actually, even today CI is not
fully able to visualize shard results when multiple shards abort.
What might be easier is injecting the aborting blame into the
previously executed test but even that is not a one-liner.
Either way, aborting and its reporting is not done and abandoned yet. WIP.
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for runner: Make taint aborts more verbose
2018-11-26 8:52 [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose Arkadiusz Hiler
2018-11-26 9:12 ` Chris Wilson
@ 2018-11-26 13:26 ` Patchwork
2018-11-26 17:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-11-26 13:26 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: runner: Make taint aborts more verbose
URL : https://patchwork.freedesktop.org/series/53002/
State : success
== Summary ==
= CI Bug Log - changes from IGT_4726 -> IGTPW_2090 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/53002/revisions/1/mbox/
== Known issues ==
Here are the changes found in IGTPW_2090 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_ctx_create@basic-files:
fi-bsw-n3050: PASS -> FAIL (fdo#108656)
fi-icl-u2: PASS -> DMESG-WARN (fdo#107724)
igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
fi-byt-clapper: PASS -> FAIL (fdo#103191, fdo#107362)
==== Possible fixes ====
igt@gem_ctx_create@basic-files:
{fi-icl-u3}: DMESG-WARN (fdo#107724) -> PASS
igt@gem_exec_suspend@basic-s3:
fi-icl-u2: DMESG-WARN (fdo#107724) -> PASS
igt@kms_frontbuffer_tracking@basic:
fi-hsw-peppy: DMESG-WARN (fdo#102614) -> PASS
igt@kms_pipe_crc_basic@read-crc-pipe-a:
fi-byt-clapper: FAIL (fdo#107362) -> PASS
igt@pm_rpm@module-reload:
fi-skl-iommu: INCOMPLETE (fdo#107807) -> PASS
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
fdo#108656 https://bugs.freedesktop.org/show_bug.cgi?id=108656
== Participating hosts (48 -> 45) ==
Additional (4): fi-ivb-3520m fi-kbl-r fi-skl-6260u fi-pnv-d510
Missing (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-gdg-551
== Build changes ==
* IGT: IGT_4726 -> IGTPW_2090
CI_DRM_5195: b6df470d38bf4580c00e3f5008d795ec2a901066 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2090: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2090/
IGT_4726: f48bebb15d3d2c1e6382e1f11b0aeac06fae6082 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2090/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for runner: Make taint aborts more verbose
2018-11-26 8:52 [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose Arkadiusz Hiler
2018-11-26 9:12 ` Chris Wilson
2018-11-26 13:26 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-11-26 17:27 ` Patchwork
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-11-26 17:27 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: runner: Make taint aborts more verbose
URL : https://patchwork.freedesktop.org/series/53002/
State : success
== Summary ==
= CI Bug Log - changes from IGT_4726_full -> IGTPW_2090_full =
== Summary - WARNING ==
Minor unknown changes coming with IGTPW_2090_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_2090_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/53002/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_2090_full:
=== IGT changes ===
==== Warnings ====
igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
shard-snb: PASS -> SKIP +1
== Known issues ==
Here are the changes found in IGTPW_2090_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_ctx_isolation@rcs0-s3:
shard-kbl: PASS -> DMESG-WARN (fdo#103313)
igt@gem_exec_big:
shard-snb: PASS -> INCOMPLETE (fdo#105411)
igt@kms_available_modes_crc@available_mode_test_crc:
shard-apl: PASS -> FAIL (fdo#106641)
igt@kms_busy@extended-pageflip-hang-newfb-render-b:
shard-apl: NOTRUN -> DMESG-WARN (fdo#107956) +1
igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
shard-kbl: NOTRUN -> DMESG-WARN (fdo#107956)
igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
shard-apl: NOTRUN -> FAIL (fdo#106510, fdo#105458)
shard-kbl: PASS -> FAIL (fdo#107725, fdo#108145)
igt@kms_color@pipe-b-degamma:
shard-apl: PASS -> FAIL (fdo#104782)
igt@kms_cursor_crc@cursor-256x256-dpms:
shard-apl: PASS -> FAIL (fdo#103232) +1
igt@kms_cursor_crc@cursor-256x256-random:
shard-glk: PASS -> FAIL (fdo#103232) +4
igt@kms_cursor_crc@cursor-64x21-onscreen:
shard-kbl: PASS -> FAIL (fdo#103232) +1
igt@kms_cursor_crc@cursor-64x64-suspend:
shard-apl: PASS -> FAIL (fdo#103232, fdo#103191)
shard-kbl: PASS -> FAIL (fdo#103232, fdo#103191)
igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
shard-glk: PASS -> FAIL (fdo#105363)
igt@kms_flip@flip-vs-expired-vblank-interruptible:
shard-glk: PASS -> FAIL (fdo#105363, fdo#102887)
igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
shard-glk: PASS -> FAIL (fdo#103167) +2
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
shard-apl: NOTRUN -> FAIL (fdo#103167)
shard-kbl: PASS -> FAIL (fdo#103167)
igt@kms_plane@plane-position-covered-pipe-a-planes:
shard-apl: PASS -> FAIL (fdo#103166) +2
shard-kbl: PASS -> FAIL (fdo#103166) +1
igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
shard-glk: PASS -> FAIL (fdo#108145) +1
shard-kbl: PASS -> FAIL (fdo#108145)
shard-apl: PASS -> FAIL (fdo#108145)
igt@kms_setmode@basic:
shard-hsw: PASS -> FAIL (fdo#99912)
igt@kms_universal_plane@universal-plane-pipe-c-functional:
shard-glk: PASS -> FAIL (fdo#103166) +5
==== Possible fixes ====
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
shard-snb: DMESG-WARN (fdo#107956) -> PASS
igt@kms_color@pipe-a-ctm-0-5:
shard-apl: INCOMPLETE (fdo#103927) -> PASS
igt@kms_cursor_crc@cursor-128x128-sliding:
shard-hsw: DMESG-FAIL (fdo#102614, fdo#103232) -> PASS
igt@kms_cursor_crc@cursor-256x256-suspend:
shard-apl: FAIL (fdo#103232, fdo#103191) -> PASS
igt@kms_cursor_crc@cursor-64x21-random:
shard-apl: FAIL (fdo#103232) -> PASS +1
igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-xtiled:
shard-glk: FAIL (fdo#107791) -> PASS
igt@kms_flip@dpms-vs-vblank-race-interruptible:
shard-hsw: DMESG-FAIL (fdo#102614, fdo#103060) -> PASS
igt@kms_flip@flip-vs-expired-vblank:
shard-kbl: FAIL (fdo#105363, fdo#102887) -> PASS
shard-glk: FAIL (fdo#105363) -> PASS
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
shard-kbl: FAIL (fdo#103167) -> PASS
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
shard-apl: FAIL (fdo#103167) -> PASS +1
shard-glk: FAIL (fdo#103167) -> PASS +3
igt@kms_plane@plane-position-hole-dpms-pipe-c-planes:
shard-hsw: FAIL (fdo#107814) -> PASS
igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
shard-glk: FAIL (fdo#103166) -> PASS +1
shard-apl: FAIL (fdo#103166) -> PASS
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
fdo#103313 https://bugs.freedesktop.org/show_bug.cgi?id=103313
fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105458 https://bugs.freedesktop.org/show_bug.cgi?id=105458
fdo#106510 https://bugs.freedesktop.org/show_bug.cgi?id=106510
fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
fdo#107725 https://bugs.freedesktop.org/show_bug.cgi?id=107725
fdo#107791 https://bugs.freedesktop.org/show_bug.cgi?id=107791
fdo#107814 https://bugs.freedesktop.org/show_bug.cgi?id=107814
fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (7 -> 5) ==
Missing (2): shard-skl shard-iclb
== Build changes ==
* IGT: IGT_4726 -> IGTPW_2090
CI_DRM_5195: b6df470d38bf4580c00e3f5008d795ec2a901066 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2090: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2090/
IGT_4726: f48bebb15d3d2c1e6382e1f11b0aeac06fae6082 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2090/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose
2018-11-26 12:22 ` Petri Latvala
@ 2019-03-27 11:19 ` Petri Latvala
0 siblings, 0 replies; 7+ messages in thread
From: Petri Latvala @ 2019-03-27 11:19 UTC (permalink / raw)
To: Arkadiusz Hiler, Chris Wilson, igt-dev, Martin Peres
On Mon, Nov 26, 2018 at 02:22:00PM +0200, Petri Latvala wrote:
> On Mon, Nov 26, 2018 at 12:36:44PM +0200, Arkadiusz Hiler wrote:
> > On Mon, Nov 26, 2018 at 09:12:46AM +0000, Chris Wilson wrote:
> > > Quoting Arkadiusz Hiler (2018-11-26 08:52:22)
> > > > Provide the reader with the taint names and a short explanation, as well
> > > > as point in the direction of the dmesg for more details.
> > > >
> > > > Cc: Petri Latvala <petri.latvala@intel.com>
> > > > Cc: Martin Peres <martin.peres@linux.intel.com>
> > > > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > > > ---
> > > > runner/executor.c | 42 ++++++++++++++++++++++++++++++++----------
> > > > 1 file changed, 32 insertions(+), 10 deletions(-)
> > > >
> > > > diff --git a/runner/executor.c b/runner/executor.c
> > > > index 2038c3fd..954cd9a7 100644
> > > > --- a/runner/executor.c
> > > > +++ b/runner/executor.c
> > > > @@ -139,24 +139,46 @@ static char *handle_lockdep(void)
> > > >
> > > > static char *handle_taint(void)
> > > > {
> > > > - const unsigned long bad_taints =
> > > > - 0x20 | /* TAINT_PAGE */
> > > > - 0x80 | /* TAINT_DIE */
> > > > - 0x200; /* TAINT_OOPS */
> > > > - unsigned long taints = 0;
> > > > + /* see Linux's include/linux/kernel.h */
> > > > + static const struct {
> > > > + unsigned long bit;
> > > > + const char *explanation;
> > > > + } taints[] = {
> > > > + {(1 << 5), "TAINT_BAD_PAGE: Bad page reference or an unexpected page flags."},
> > > > + {(1 << 7), "TAINT_DIE: Kernel has died - BUG/OOPS."},
> > > > + {(1 << 9), "TAINT_WARN: WARN_ON has happened."},
> > >
> > > Pure noise, these don't add any useful information, so why? The only
> > > information is the explanation in dmesg. Checking tainted is just
> > > shorthand for us to determine a significant event.
> >
> > People not knowing what taint means (or that it is a "bit field") were
> > getting confused by those aborts. I just got tired of explaining that we
> > don't check for "unsafe module option taint" which is usually the first
> > result they get while greping dmesg for "taint".
>
>
> Yeah this has been causing confusion in all kinds of circles.
>
> In general it's always better to explain numbers in outputs meant for
> humans. Surely if people ask about stuff, adding explanations to it is
> useful information by definition?
We've had too many questions about the aborts right about now.
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-03-27 11:19 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 8:52 [igt-dev] [PATCH i-g-t] runner: Make taint aborts more verbose Arkadiusz Hiler
2018-11-26 9:12 ` Chris Wilson
2018-11-26 10:36 ` Arkadiusz Hiler
2018-11-26 12:22 ` Petri Latvala
2019-03-27 11:19 ` Petri Latvala
2018-11-26 13:26 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-11-26 17:27 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.