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-next>] [day] [month] [year] [list]
Date:   Tue, 31 Oct 2017 17:58:03 +0800
From:   Yu Chen <yu.c.chen@...el.com>
To:     x86@...nel.org
Cc:     Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>, Lukas Wunner <lukas@...ner.de>,
        "Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
        Len Brown <len.brown@...el.com>, linux-pm@...r.kernel.org,
        linux-kernel@...r.kernel.org, Chen Yu <yu.c.chen@...el.com>
Subject: [PATCH 0/3][RFC/RFT] Do not delay the MTRR synchronization for

From: Chen Yu <yu.c.chen@...el.com>

The original problem comes from a bug found on MacBookPro that,
the instructions run on each APs after resume are very slow, due
to the MTRR been scribbled by the BIOS thus it behaves like
running in 'uncached' mode.

Thus this patch tries to synchronize the MTRR as early as possible
by performing this action once the APs have been brought.

Test result shows a 6 seconds improvement on the bogus MacBookPro,
and 600 ms improvement on a Xeon Broadwell platform which has
88 cpus.

Chen Yu (3):
  PM / sleep: Introduce a flag to identify the enable_nonboot_cpus stage
  x86/mtrr: Add cpu id into the MTRR setting data structure
  PM / sleep: Do not delay the synchronization of MTRR during resume

 arch/x86/kernel/cpu/mtrr/main.c | 13 ++++++++++---
 arch/x86/kernel/smpboot.c       |  2 --
 include/linux/cpu.h             |  2 ++
 kernel/cpu.c                    |  8 ++++++++
 4 files changed, 20 insertions(+), 5 deletions(-)

-- 
2.13.5

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ