linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/13] EEH refactoring 2
@ 2018-05-25  3:11 Sam Bobroff
  2018-05-25  3:11 ` [PATCH v2 01/13] powerpc/eeh: Add eeh_max_freezes to initial EEH log line Sam Bobroff
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Sam Bobroff @ 2018-05-25  3:11 UTC (permalink / raw)
  To: linuxppc-dev

Hello everyone,

Here is a second, somewhat deeper, set of cleanups for the EEH code
(mostly eeh_drver.c).

These changes are not intended to significantly alter the actual processing,
but rather to improve the readability and maintainability of the code. They are
subjective by nature so I would appreciate comments and suggestions.

The earlier changes are mostly to support the last patch, where we're finally
able to use a common infrastructure for the reporting functions (basically
wrappers around the driver's handlers). This allows removal of a fair bit of
code, and the easy addition of some useful messaging which should make future
maintenance easier (as an example, a recent fix in this area "powerpc/eeh: Fix
race with driver un/bind" would have required adding two lines rather than
42+/26-).

Cheers,
Sam.

Patch set changelog follows:

====== v1 -> v2: ======

Patch 1/13: powerpc/eeh: Add eeh_max_freezes to initial EEH log line

Patch 2/13: powerpc/eeh: Add final message for successful recovery

Patch 3/13: powerpc/eeh: Fix use-after-release of EEH driver

Patch 4/13: powerpc/eeh: Remove unused eeh_pcid_name()

Patch 5/13: powerpc/eeh: Strengthen types of eeh traversal functions

Patch 6/13: powerpc/eeh: Add message when PE processing at parent

Patch 7/13: powerpc/eeh: Clean up pci_ers_result handling
* Added the value, and missing newline, to some WARN()s.
* Improved name of merge_result() to pci_ers_merge_result().
* Adjusted the result priorities so that unknown doesn't overlap with _NONE.

Patch 8/13: powerpc/eeh: Introduce eeh_for_each_pe()

Patch 9/13: powerpc/eeh: Introduce eeh_edev_actionable()

Patch 10/13: powerpc/eeh: Introduce eeh_set_channel_state()

Patch 11/13: powerpc/eeh: Introduce eeh_set_irq_state()
* Reorganised eeh_set_irq_state() to reduce nesting depth.

Patch 12/13: powerpc/eeh: Cleaner handling of EEH_DEV_NO_HANDLER

Patch 13/13: powerpc/eeh: Refactor report functions
* Better name for eeh_infoline() and implement using a function.
* Move the core of eeh_pe_report() into a new function to improve readability.
* pci_ers_result_name(): match parameter name to eeh_result_priority(), correct and improve warning message.

====== v1: ======

Patch 1/13: powerpc/eeh: Add eeh_max_freezes to initial EEH log line
Patch 2/13: powerpc/eeh: Add final message for successful recovery
Patch 3/13: powerpc/eeh: Fix use-after-release of EEH driver
Patch 4/13: powerpc/eeh: Remove unused eeh_pcid_name()
Patch 5/13: powerpc/eeh: Strengthen types of eeh traversal functions
Patch 6/13: powerpc/eeh: Add message when PE processing at parent
Patch 7/13: powerpc/eeh: Clean up pci_ers_result handling
Patch 8/13: powerpc/eeh: Introduce eeh_for_each_pe()
Patch 9/13: powerpc/eeh: Introduce eeh_edev_actionable()
Patch 10/13: powerpc/eeh: Introduce eeh_set_channel_state()
Patch 11/13: powerpc/eeh: Introduce eeh_set_irq_state()
Patch 12/13: powerpc/eeh: Cleaner handling of EEH_DEV_NO_HANDLER
Patch 13/13: powerpc/eeh: Refactor report functions

Sam Bobroff (13):
  powerpc/eeh: Add eeh_max_freezes to initial EEH log line
  powerpc/eeh: Add final message for successful recovery
  powerpc/eeh: Fix use-after-release of EEH driver
  powerpc/eeh: Remove unused eeh_pcid_name()
  powerpc/eeh: Strengthen types of eeh traversal functions
  powerpc/eeh: Add message when PE processing at parent
  powerpc/eeh: Clean up pci_ers_result handling
  powerpc/eeh: Introduce eeh_for_each_pe()
  powerpc/eeh: Introduce eeh_edev_actionable()
  powerpc/eeh: Introduce eeh_set_channel_state()
  powerpc/eeh: Introduce eeh_set_irq_state()
  powerpc/eeh: Cleaner handling of EEH_DEV_NO_HANDLER
  powerpc/eeh: Refactor report functions

 arch/powerpc/include/asm/eeh.h   |  11 +-
 arch/powerpc/kernel/eeh.c        |  19 +-
 arch/powerpc/kernel/eeh_driver.c | 493 +++++++++++++++++++++------------------
 arch/powerpc/kernel/eeh_pe.c     |  26 +--
 4 files changed, 294 insertions(+), 255 deletions(-)

-- 
2.16.1.74.g9b0b1f47b

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-06-04 14:11 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-25  3:11 [PATCH v2 00/13] EEH refactoring 2 Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 01/13] powerpc/eeh: Add eeh_max_freezes to initial EEH log line Sam Bobroff
2018-06-04 14:11   ` [v2, " Michael Ellerman
2018-05-25  3:11 ` [PATCH v2 02/13] powerpc/eeh: Add final message for successful recovery Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 03/13] powerpc/eeh: Fix use-after-release of EEH driver Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 04/13] powerpc/eeh: Remove unused eeh_pcid_name() Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 05/13] powerpc/eeh: Strengthen types of eeh traversal functions Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 06/13] powerpc/eeh: Add message when PE processing at parent Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 07/13] powerpc/eeh: Clean up pci_ers_result handling Sam Bobroff
2018-06-01 15:40   ` Michael Ellerman
2018-06-04  1:28     ` Sam Bobroff
2018-06-04  9:43       ` Michael Ellerman
2018-05-25  3:11 ` [PATCH v2 08/13] powerpc/eeh: Introduce eeh_for_each_pe() Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 09/13] powerpc/eeh: Introduce eeh_edev_actionable() Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 10/13] powerpc/eeh: Introduce eeh_set_channel_state() Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 11/13] powerpc/eeh: Introduce eeh_set_irq_state() Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 12/13] powerpc/eeh: Cleaner handling of EEH_DEV_NO_HANDLER Sam Bobroff
2018-05-25  3:11 ` [PATCH v2 13/13] powerpc/eeh: Refactor report functions Sam Bobroff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).