lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 4 Oct 2017 20:50:20 +0200 (CEST)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Mike Travis <mike.travis@....com>
cc:     Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        "H. Peter Anvin" <hpa@...or.com>,
        Bin Gao <bin.gao@...ux.intel.com>,
        Prarit Bhargava <prarit@...hat.com>,
        Dimitri Sivanich <dimitri.sivanich@....com>,
        Andrew Banman <andrew.banman@....com>,
        Russ Anderson <russ.anderson@....com>,
        linux-kernel@...r.kernel.org, x86@...nel.org
Subject: Re: [PATCH 4/5] x86/kernel: Provide a means to disable TSC ART

On Wed, 4 Oct 2017, Mike Travis wrote:
> On 10/4/2017 2:27 AM, Peter Zijlstra wrote:
> > On Mon, Oct 02, 2017 at 10:12:18AM -0500, mike.travis@....com wrote:
> > >   static void detect_art(void)
> > >   {
> > >   	unsigned int unused[2];
> > >   -	if (boot_cpu_data.cpuid_level < ART_CPUID_LEAF)
> > > +	if (boot_cpu_data.cpuid_level < ART_CPUID_LEAF || tsc_art_disabled)
> > >   		return;
> > >     	/* Don't enable ART in a VM, non-stop TSC and TSC_ADJUST
> > > required */
> > 
> > 
> > So why can't we use is_uv_system() here an for the tsc_adjust thing?
> 
> I could.  I just thought that there may be future system arches that
> need the same facility?
> > 
> > Also (and I hate the name) tsc_multi_sync_resets is the reason you
> > cannot use ART, I don't think it makes sense to introduce yet another
> > knob.
> > 
> Okay.  I wasn't sure if there might be different causes for wanting one
> condition over the other.  So does this mean change this later test to
> use is_uv_system() or tsc_multi_sync_resets?

tsc_multi_sync_resets because that's the reason to disable ART as not all
sockets have the same TSC <-> ART offset.

Btw, your changelog is slightly wrong here:

> On systems where multiple chassis are reset asynchronously there is not a
> constant ratio between the ART frequency and the TSC time that can be
> provided by the boot cpu.

The ratio is actually the same as the frequencies should be the
same. Though the offset in that equation:

                            n
      TSC = offset + ART * ---
                            d

is different because that offset is basically TSC_ADJUST.

Thanks,

	tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ