All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.