From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 428nKr0DphzF36t for ; Wed, 12 Sep 2018 00:26:56 +1000 (AEST) Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) by bilbo.ozlabs.org (Postfix) with ESMTP id 428nKq6S4Dz8tRT for ; Wed, 12 Sep 2018 00:26:55 +1000 (AEST) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 428nKq1zs1z9s1x for ; Wed, 12 Sep 2018 00:26:54 +1000 (AEST) Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w8BEOnhS108358 for ; Tue, 11 Sep 2018 10:26:51 -0400 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0b-001b2d01.pphosted.com with ESMTP id 2meet39yng-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 11 Sep 2018 10:26:51 -0400 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 11 Sep 2018 15:26:49 +0100 Subject: [PATCH v10 0/5] powerpc/pseries: Machine check handler improvements. From: Mahesh J Salgaonkar To: linuxppc-dev Cc: Michal Suchanek , Michael Ellerman , Nicholas Piggin , "Aneesh Kumar K.V" , Michal Suchanek , Ananth Narayan , Nicholas Piggin , "Aneesh Kumar K.V" , Laurent Dufour Date: Tue, 11 Sep 2018 19:56:44 +0530 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Message-Id: <153667588649.24785.4453485245076541196.stgit@jupiter.in.ibm.com> List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This patch series includes some improvement to Machine check handler for pSeries. This patch series drops the sysctl knob patch that was proposed in v7. The SLB recovery code now uses flush_and_reload_slb() from mce_power.c. Patch 1 defines MCE error event section. Patch 2 implements a real mode mce handler and flushes the SLBs on SLB error. Patch 3 display's the MCE error details on console. Patch 4 saves and dumps the SLB contents on SLB MCE errors to improve the debugability. Patch 5 consolidates mce early real mode handling code. Change in v10: - Rebase to 4.19.0-rc2. Patch 4 now applies cleanly. Change in V9: - Move mce_exceptions counting to powernv's virtual mode handler. - Recover from ERAT errors. - Minor changes to fix few warnings/checks from checkpatch.pl Change in V8: - Move mce error log structure definition to ras.c - Use flush_and_reload_slb() from mce_power.c. - Limit the slb saving to single level of mce recursion. - Move mce_faulty_slbs and slb_save_cache_ptr under CONFIG_PPC_BOOK3S_64 instead of CONFIG_PPC_PSERIES. - Drop the sysctl knob patch. Change in V7: - Fold Michal's patch into patch 5 - Handle MSR_RI=0 and evil context case in MC handler in patch 5. - Patch 7: Print slb cache ptr value and slb cache data. - Move patch 8 to patch 9. - Introduce patch 8 add sysctl knob for recovery action on recovered MCEs. Change in V6: - Introduce patch 8 to consolidate early real mode handling code. - Address Nick's comment on erroneous hunk. Change in V5: - Use min_t instead of max_t. - Fix an issue reported by kbuild test robot and address review comments. Change in V4: - Flush the SLBs in real mode mce handler to handle SLB errors for entry 0. - Allocate buffers per cpu to hold rtas error log and old slb contents. - Defer the logging of rtas error log to irq work queue. Change in V3: - Moved patch 5 to patch 2 Change in V2: - patch 3: Display additional info (NIP and task info) in MCE error details. - patch 5: Fix endain bug while restoring of r3 in MCE handler. --- Mahesh Salgaonkar (5): powerpc/pseries: Define MCE error event section. powerpc/pseries: flush SLB contents on SLB MCE errors. powerpc/pseries: Display machine check error details. powerpc/pseries: Dump the SLB contents on SLB MCE errors. powernv/pseries: consolidate code for mce early handling. arch/powerpc/include/asm/book3s/64/mmu-hash.h | 7 + arch/powerpc/include/asm/machdep.h | 1 arch/powerpc/include/asm/mce.h | 3 arch/powerpc/include/asm/paca.h | 6 arch/powerpc/include/asm/rtas.h | 13 + arch/powerpc/kernel/exceptions-64s.S | 42 +++ arch/powerpc/kernel/mce.c | 9 - arch/powerpc/kernel/mce_power.c | 2 arch/powerpc/mm/slb.c | 70 ++++++ arch/powerpc/platforms/powernv/opal.c | 2 arch/powerpc/platforms/powernv/setup.c | 11 + arch/powerpc/platforms/pseries/pseries.h | 1 arch/powerpc/platforms/pseries/ras.c | 303 +++++++++++++++++++++++++ arch/powerpc/platforms/pseries/setup.c | 14 + 14 files changed, 472 insertions(+), 12 deletions(-) -- -Mahesh.