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:   Mon, 28 Feb 2022 16:28:59 -0800
From:   Darren Hart <darren@...amperecomputing.com>
To:     LKML <linux-kernel@...r.kernel.org>,
        Linux Arm <linux-arm-kernel@...ts.infradead.org>
Cc:     Catalin Marinas <catalin.marinas@....com>,
        Will Deacon <will@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Vincent Guittot <vincent.guittot@...aro.org>,
        Barry Song <song.bao.hua@...ilicon.com>,
        Valentin Schneider <valentin.schneider@....com>,
        "D . Scott Phillips" <scott@...amperecomputing.com>,
        Ilkka Koskinen <ilkka@...amperecomputing.com>
Subject: [PATCH 0/1] arm64: smp: Skip MC sched domain on SoCs with no LLC

After the feedback from Vincent and Barry, I wrote a version of this which
performed the test in topology.c and added an ACPI pptt API to detect ancestry
of cpu topology nodes. In the end, the new API felt forced and was inconsistent
with the other APIs, and the detection loop was pretty ugly with a lot corner
case cleanup. It seemed fragile and not very extensible.

This version follows the approach taken by other architectures: wait until smp
cpus are online and take advantage of the stored cpu_topology structure to make
sched domain topology decisions.

This adds a single point to test and decide on which sched domain topology
should be used for an arm64 system without impacting the scheduler code, acpi
code, or the construction of the cpu_topology structures. I think this is a
cleaner and less invasive solution which properly encapsulates the sched domain
topology decision in a way that is easy to maintain and extend over time.

Vincent did mention in an earlier version that by relying on cpumasks and
removing the MC sched domain, I didn't address possible future architectures
which may have clusters without shared cache and an MC level with shared cache.
In this version, I limit the removal of the MC level to topologies where the
coregroup weight is 1 (so it doesn't impact such future architectures). I also
think that by encapsulating the sched domain topology decision into a single
function after smp boot, it will be simple enough for someone to support such a
topology if and when it exists, allowing us to create a minimal solution to the
immediate problem of BUGing on the current topology.

Cc: Catalin Marinas <catalin.marinas@....com>
Cc: Will Deacon <will@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Vincent Guittot <vincent.guittot@...aro.org>
Cc: Barry Song <song.bao.hua@...ilicon.com>
Cc: Valentin Schneider <valentin.schneider@....com>
Cc: D. Scott Phillips <scott@...amperecomputing.com>
Cc: Ilkka Koskinen <ilkka@...amperecomputing.com>

Darren Hart (1):
  arm64: smp: Skip MC sched domain on SoCs with no LLC

 arch/arm64/kernel/smp.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

-- 
2.31.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ