All of lore.kernel.org
 help / color / mirror / Atom feed
From: Radoslaw Biernacki <biernacki@google.com>
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	x86@kernel.org, Ross Zwisler <zwisler@google.com>,
	Daniel Drake <drake@endlessm.com>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@alien8.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Len Brown <len.brown@intel.com>,
	Linux Upstreaming Team <linux@endlessm.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Thorsten Leemhuis <regressions@leemhuis.info>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86/tsc: Use hard-coded crystal clock for Skylake mobile
Date: Mon, 11 May 2020 10:45:28 +0200	[thread overview]
Message-ID: <CAM4=Rn+7RGHEGa7u33zUA0b-cBehadw4NKN75JtjKjOhxm2Fxg@mail.gmail.com> (raw)
In-Reply-To: <edc5af47-27e6-753f-c095-bd3087942690@molgen.mpg.de>

On Mon, May 11, 2020 at 9:38 AM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
>
> Dear Thomas,
>
>
> Thank you for the quick reply.
>
> Am 11.05.20 um 09:17 schrieb Thomas Gleixner:
>
> > Paul Menzel <pmenzel@molgen.mpg.de> writes:
> >
> > please send patches to LKML and not offlist.
>
> Sorry about that. From `MAINTAINERS` I thought x86@kernel.org is wanted.
> Other subsystems list LKML explicitly there.
>
> >> From: Radoslaw Biernacki <biernacki@google.com>
> >>
> >> @@ -636,10 +636,24 @@ unsigned long native_calibrate_tsc(void)
> >>       * Denverton SoCs don't report crystal clock, and also don't support
> >>       * CPUID.0x16 for the calculation below, so hardcode the 25MHz crystal
> >>       * clock.
> >> +     * Also estimation code is not reliable and gives 1.5%  difference for
> >> +     * tsc/clock ratio on Skylake mobile. Therefore below is a hardcoded
> >> +     * crystal frequency for Skylake which was removed by upstream commit
> >> +     * "x86/tsc: Use CPUID.0x16 to calculate missing crystal frequency"
> >> +     * This is temporary workaround for bugs:
> >> +     * b/148108096, b/154283905, b/146787525, b/153400677, b/148178929
> >> +     * chromium/1031054
> >>       */
> >> -    if (crystal_khz == 0 &&
> >> -                    boot_cpu_data.x86_model == INTEL_FAM6_ATOM_GOLDMONT_D)
> >> -            crystal_khz = 25000;
> >> +    if (crystal_khz == 0) {
> >> +            switch (boot_cpu_data.x86_model) {
> >> +            case INTEL_FAM6_SKYLAKE_MOBILE:
> >> +                    crystal_khz = 24000;    /* 24.0 MHz */
> >> +                    break;
> >> +            case INTEL_FAM6_ATOM_GOLDMONT_X:
> >> +                    crystal_khz = 25000;    /* 25.0 MHz */
> >> +                    break;
> >> +            }
> >
> > Aside of being a workaround for Google issues which are probably caused > by broken BIOSes
>
> Even if it was caused by broken firmware, wouldn’t Linux’ no regression
> policy still consider this a regression as user should be able to the
> Linux kernel “no matter what”?
>
> > that patch is broken.
> >
> >     INTEL_FAM6_ATOM_GOLDMONT_D != INTEL_FAM6_ATOM_GOLDMONT_X
>
> Good catch. The commit didn’t apply cleanly to the master branch, and I
> missed this.
>
> I’ll wait for Radoslaw to comment before proceeding further with this.

We found that regression only on specific SKU which was used in one
model of ChromeBook.
What's interesting is that some other SKU is fine.

The consequences of this are rather not trivial,
so this was considered a quickfix and temporary till we develop
something better.
In contrast to ChromeOs, I know that there is no way of finding if
there are in fact regressions on generic kernel in the field (this is
SKU dependent),
but we also think that this problem should be addressed in a better
way (if possible).

We plan to work on this.
Any help is welcome.

>
>
> Kind regards,
>
> Paul

  reply	other threads:[~2020-05-11  8:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200509113717.9084-1-pmenzel@molgen.mpg.de>
     [not found] ` <87eerr3ppb.fsf@nanos.tec.linutronix.de>
2020-05-11  7:38   ` [PATCH] x86/tsc: Use hard-coded crystal clock for Skylake mobile Paul Menzel
2020-05-11  8:45     ` Radoslaw Biernacki [this message]
2020-05-11 12:34       ` Thomas Gleixner
2020-05-11 15:39         ` Radoslaw Biernacki
2020-05-11  9:36     ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAM4=Rn+7RGHEGa7u33zUA0b-cBehadw4NKN75JtjKjOhxm2Fxg@mail.gmail.com' \
    --to=biernacki@google.com \
    --cc=bp@alien8.de \
    --cc=drake@endlessm.com \
    --cc=hpa@zytor.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@endlessm.com \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=pmenzel@molgen.mpg.de \
    --cc=rafael.j.wysocki@intel.com \
    --cc=regressions@leemhuis.info \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=zwisler@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.