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:	Wed,  7 Mar 2012 09:00:14 -0300
From:	Mauro Carvalho Chehab <mchehab@...hat.com>
To:	unlisted-recipients:; (no To-header on input)
Cc:	Mauro Carvalho Chehab <mchehab@...hat.com>,
	Linux Edac Mailing List <linux-edac@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [PATCH 0/2] Add proper support for FB-DIMM and for the modern Intel DDR2/DDR3 memory controllers

The EDAC core support for RAMBUS, FB-DIMM and for most Intel DDR2/DDR3 is broken
since... ever.

The EDAC core assumes that all memory controllers work at the same way, with just
2 channels working with the same memory type on both channels. The memory properties
are stored there on a common structure that sees all channels, and a DIMM with
multiple ranks should be mapped per rank.

Modern memory controllers may have more than 2 channels, generally grouped into
a branch. They don't offer per-rank visibility (or, when they offer, this is
just a DIMM property, as the registers are per-DIMM).

Due to that, all modern Intel drivers have to lie to the EDAC core, passing some 
fake data there, using some tricks to appear to userspace that everything is ok.

Well, those tricks are inconsistent among the drivers, and each driver used
a different approach. Worse than that, the information to what memory
channel/slot/branch is masked by the drivers, creating a nightmare to someone
that wants to map a motherboard silkscreen DIMM's into something useful.

This patch series change the internal model, allowing those modern memory
controllers to be properly represented.

The existing per-rank broken userspace sysfs API was kept, in order to keep the
existing userspace programs to work.

A new sysfs API is added, allowing to report per-DIMM information.

PS.: This patch series require the "Add a per-dimm structure" patchset.

Mauro Carvalho Chehab (2):
  edac: Fix core support for MC's that see DIMMS instead of ranks
  edac: Export MC hierarchy counters for CE and UE

 drivers/edac/amd64_edac.c      |  139 ++++++---
 drivers/edac/amd64_edac_dbg.c  |    6 +-
 drivers/edac/amd64_edac_inj.c  |   24 +-
 drivers/edac/amd76x_edac.c     |   30 ++-
 drivers/edac/cell_edac.c       |   26 ++-
 drivers/edac/cpc925_edac.c     |   25 ++-
 drivers/edac/e752x_edac.c      |   46 ++-
 drivers/edac/e7xxx_edac.c      |   39 ++-
 drivers/edac/edac_core.h       |   48 +--
 drivers/edac/edac_device.c     |   27 +-
 drivers/edac/edac_mc.c         |  669 ++++++++++++++++++++++++----------------
 drivers/edac/edac_mc_sysfs.c   |  256 +++++++++++++---
 drivers/edac/edac_module.h     |    2 +-
 drivers/edac/edac_pci.c        |    7 +-
 drivers/edac/i3000_edac.c      |   27 ++-
 drivers/edac/i3200_edac.c      |   33 ++-
 drivers/edac/i5000_edac.c      |   58 +++--
 drivers/edac/i5100_edac.c      |  107 +++----
 drivers/edac/i5400_edac.c      |  217 +++++++------
 drivers/edac/i7300_edac.c      |   81 ++---
 drivers/edac/i7core_edac.c     |  231 ++++----------
 drivers/edac/i82443bxgx_edac.c |   28 +-
 drivers/edac/i82860_edac.c     |   44 ++-
 drivers/edac/i82875p_edac.c    |   31 ++-
 drivers/edac/i82975x_edac.c    |   30 ++-
 drivers/edac/mpc85xx_edac.c    |   29 ++-
 drivers/edac/mv64x60_edac.c    |   25 ++-
 drivers/edac/pasemi_edac.c     |   27 +-
 drivers/edac/ppc4xx_edac.c     |   33 ++-
 drivers/edac/r82600_edac.c     |   29 ++-
 drivers/edac/sb_edac.c         |  161 ++++-------
 drivers/edac/tile_edac.c       |   16 +-
 drivers/edac/x38_edac.c        |   30 ++-
 include/linux/edac.h           |  137 ++++++++-
 34 files changed, 1624 insertions(+), 1094 deletions(-)

-- 
1.7.8

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ