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] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200221172901.1596249-1-cheloha@linux.ibm.com>
Date:   Fri, 21 Feb 2020 11:29:00 -0600
From:   Scott Cheloha <cheloha@...ux.ibm.com>
To:     linuxppc-dev@...ts.ozlabs.org,
        Michael Ellerman <mpe@...erman.id.au>
Cc:     Nathan Lynch <nathanl@...ux.ibm.com>,
        Rick Lindley <ricklind@...ux.vnet.ibm.com>,
        David Hildenbrand <david@...hat.com>,
        Michal Suchanek <msuchanek@...e.com>,
        Michal Hocko <mhocko@...e.com>,
        Nathan Fontenont <ndfont@...il.com>,
        linux-kernel@...r.kernel.org
Subject: pseries: accelerate drmem and simplify hotplug with xarrays

This patch series introduces two xarrays of LMBs in an effort to speed
up the drmem code and simplify the hotplug code on pseries machines.

The first patch introduces an xarray of LMBs indexed by physical
address.  xa_load() is then used to accelerate LMB lookup during
memory_add_physaddr_to_nid().  The interface is used during boot,
in drmem_init(), and memory hot-add, in dlpar_add_lmb(), on pseries
machines.  Its linear LMB search is a serious bottleneck on larger
machines that xa_load() flattens nicely as shown in the before/after
example.

The second patch introduces a second xarray of LMBs, this one
indexed by DRC index.  The xarray API is leveraged to replace
the custom LMB search/iteration/marking code currently used in
the pseries memory hotplug module.  The result is cleaner and,
again thanks to xa_load(), faster.

v1: One big patch.

v2 changes:
- Split up the big patch from v1 into a series.
- Provide a more dramatic example in patch 1/2 to emphasize the
  linear search bottleneck in memory_add_physaddr_to_nid().
- Expand the use of the xarray API in patch 2/2 to replace more
  custom code.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ