2018-11-21 11:17:07

by Hans Holmberg

[permalink] [raw]
Subject: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

From: Hans Holmberg <[email protected]>

There is no need to rebuild i915_gpu_error.o when the version string
changes as the version is available in init_utsname()->release.

Signed-off-by: Hans Holmberg <[email protected]>
---
drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 8762d17b6659..958e1484a3dd 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -27,7 +27,7 @@
*
*/

-#include <generated/utsrelease.h>
+#include <linux/utsname.h>
#include <linux/stop_machine.h>
#include <linux/zlib.h>
#include <drm/drm_print.h>
@@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,

if (*error->error_msg)
err_printf(m, "%s\n", error->error_msg);
- err_printf(m, "Kernel: " UTS_RELEASE "\n");
+ err_printf(m, "Kernel: %s\n", init_utsname()->release);
ts = ktime_to_timespec64(error->time);
err_printf(m, "Time: %lld s %ld us\n",
(s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
--
2.17.1



2018-11-21 10:11:37

by Joonas Lahtinen

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

Quoting Hans Holmberg (2018-11-21 11:54:23)
> From: Hans Holmberg <[email protected]>
>
> There is no need to rebuild i915_gpu_error.o when the version string
> changes as the version is available in init_utsname()->release.
>
> Signed-off-by: Hans Holmberg <[email protected]>

Seems reasonable to me.

Reviewed-by: Joonas Lahtinen <[email protected]>

Out of curiosity, are you by any chance hashing the i915_gpu_error.o
file (or the contents elsewhere) for some purpose?

Regards, Joonas

> ---
> drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 8762d17b6659..958e1484a3dd 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -27,7 +27,7 @@
> *
> */
>
> -#include <generated/utsrelease.h>
> +#include <linux/utsname.h>
> #include <linux/stop_machine.h>
> #include <linux/zlib.h>
> #include <drm/drm_print.h>
> @@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
>
> if (*error->error_msg)
> err_printf(m, "%s\n", error->error_msg);
> - err_printf(m, "Kernel: " UTS_RELEASE "\n");
> + err_printf(m, "Kernel: %s\n", init_utsname()->release);
> ts = ktime_to_timespec64(error->time);
> err_printf(m, "Time: %lld s %ld us\n",
> (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
> --
> 2.17.1
>

2018-11-21 10:32:29

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

On Wed, 21 Nov 2018, Hans Holmberg <[email protected]> wrote:
> From: Hans Holmberg <[email protected]>
>
> There is no need to rebuild i915_gpu_error.o when the version string
> changes as the version is available in init_utsname()->release.
>
> Signed-off-by: Hans Holmberg <[email protected]>

Nice!

Reviewed-by: Jani Nikula <[email protected]>

> ---
> drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 8762d17b6659..958e1484a3dd 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -27,7 +27,7 @@
> *
> */
>
> -#include <generated/utsrelease.h>
> +#include <linux/utsname.h>
> #include <linux/stop_machine.h>
> #include <linux/zlib.h>
> #include <drm/drm_print.h>
> @@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
>
> if (*error->error_msg)
> err_printf(m, "%s\n", error->error_msg);
> - err_printf(m, "Kernel: " UTS_RELEASE "\n");
> + err_printf(m, "Kernel: %s\n", init_utsname()->release);
> ts = ktime_to_timespec64(error->time);
> err_printf(m, "Time: %lld s %ld us\n",
> (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);

--
Jani Nikula, Intel Open Source Graphics Center

2018-11-21 11:18:19

by Chris Wilson

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

Quoting Hans Holmberg (2018-11-21 09:54:23)
> From: Hans Holmberg <[email protected]>
>
> There is no need to rebuild i915_gpu_error.o when the version string
> changes as the version is available in init_utsname()->release.
>
> Signed-off-by: Hans Holmberg <[email protected]>
> ---
> drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 8762d17b6659..958e1484a3dd 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -27,7 +27,7 @@
> *
> */
>
> -#include <generated/utsrelease.h>
> +#include <linux/utsname.h>
> #include <linux/stop_machine.h>
> #include <linux/zlib.h>
> #include <drm/drm_print.h>
> @@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
>
> if (*error->error_msg)
> err_printf(m, "%s\n", error->error_msg);
> - err_printf(m, "Kernel: " UTS_RELEASE "\n");
> + err_printf(m, "Kernel: %s\n", init_utsname()->release);

Should we take some more info from init_utsname, plagiarising
dump_stack,

err_printf(m, :Kernel: %s %.*s\n",
init_utsname()->release,
(int)strcspn(init_utsname()->version, " "),
init_utsname()->version);

-Chris

2018-11-21 13:06:56

by Hans Holmberg

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

On Wed, Nov 21, 2018 at 11:10 AM Joonas Lahtinen
<[email protected]> wrote:
>
> Quoting Hans Holmberg (2018-11-21 11:54:23)
> > From: Hans Holmberg <[email protected]>
> >
> > There is no need to rebuild i915_gpu_error.o when the version string
> > changes as the version is available in init_utsname()->release.
> >
> > Signed-off-by: Hans Holmberg <[email protected]>
>
> Seems reasonable to me.
>
> Reviewed-by: Joonas Lahtinen <[email protected]>
>
> Out of curiosity, are you by any chance hashing the i915_gpu_error.o
> file (or the contents elsewhere) for some purpose?

Oh no, I was just moderately annoyed by the file being rebuilt every
time the version was updated(I use my current branch name as
LOCALVERSION when building).

Thanks,
Hans
>
> Regards, Joonas
>
> > ---
> > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> > index 8762d17b6659..958e1484a3dd 100644
> > --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> > @@ -27,7 +27,7 @@
> > *
> > */
> >
> > -#include <generated/utsrelease.h>
> > +#include <linux/utsname.h>
> > #include <linux/stop_machine.h>
> > #include <linux/zlib.h>
> > #include <drm/drm_print.h>
> > @@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
> >
> > if (*error->error_msg)
> > err_printf(m, "%s\n", error->error_msg);
> > - err_printf(m, "Kernel: " UTS_RELEASE "\n");
> > + err_printf(m, "Kernel: %s\n", init_utsname()->release);
> > ts = ktime_to_timespec64(error->time);
> > err_printf(m, "Time: %lld s %ld us\n",
> > (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
> > --
> > 2.17.1
> >

2018-11-21 14:02:18

by Joonas Lahtinen

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: avoid rebuilding i915_gpu_error.o on version string updates

Quoting Hans Holmberg (2018-11-21 13:35:19)
> On Wed, Nov 21, 2018 at 11:10 AM Joonas Lahtinen
> <[email protected]> wrote:
> >
> > Quoting Hans Holmberg (2018-11-21 11:54:23)
> > > From: Hans Holmberg <[email protected]>
> > >
> > > There is no need to rebuild i915_gpu_error.o when the version string
> > > changes as the version is available in init_utsname()->release.
> > >
> > > Signed-off-by: Hans Holmberg <[email protected]>
> >
> > Seems reasonable to me.
> >
> > Reviewed-by: Joonas Lahtinen <[email protected]>
> >
> > Out of curiosity, are you by any chance hashing the i915_gpu_error.o
> > file (or the contents elsewhere) for some purpose?
>
> Oh no, I was just moderately annoyed by the file being rebuilt every
> time the version was updated(I use my current branch name as
> LOCALVERSION when building).

That's a reasonable explanation, too :)

I unblocked the message from moderation queue so that our CI picks this
up for testing. I will then proceed to merge this once the results are
back.

Thanks for the patch!

Regards, Joonas

>
> Thanks,
> Hans
> >
> > Regards, Joonas
> >
> > > ---
> > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> > > index 8762d17b6659..958e1484a3dd 100644
> > > --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> > > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> > > @@ -27,7 +27,7 @@
> > > *
> > > */
> > >
> > > -#include <generated/utsrelease.h>
> > > +#include <linux/utsname.h>
> > > #include <linux/stop_machine.h>
> > > #include <linux/zlib.h>
> > > #include <drm/drm_print.h>
> > > @@ -650,7 +650,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
> > >
> > > if (*error->error_msg)
> > > err_printf(m, "%s\n", error->error_msg);
> > > - err_printf(m, "Kernel: " UTS_RELEASE "\n");
> > > + err_printf(m, "Kernel: %s\n", init_utsname()->release);
> > > ts = ktime_to_timespec64(error->time);
> > > err_printf(m, "Time: %lld s %ld us\n",
> > > (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
> > > --
> > > 2.17.1
> > >