Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1451437 > unrolled thread

[PATCH 0/4] x86/platform/UV: SGI UV4 Kernel Fixes

Started byMike Travis <travis@sgi.com>
First post2016-07-27 19:50 +0200
Last post2016-07-27 20:10 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/4] x86/platform/UV: SGI UV4 Kernel Fixes Mike Travis <travis@sgi.com> - 2016-07-27 19:50 +0200
    [PATCH 1/4] x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous Mike Travis <travis@sgi.com> - 2016-07-27 19:50 +0200
    [PATCH 4/4] x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV Mike Travis <travis@sgi.com> - 2016-07-27 19:50 +0200
    Re: [PATCH 0/4] x86/platform/UV: SGI UV4 Kernel Fixes Greg KH <gregkh@linuxfoundation.org> - 2016-07-27 20:10 +0200

#1451437 — [PATCH 0/4] x86/platform/UV: SGI UV4 Kernel Fixes

FromMike Travis <travis@sgi.com>
Date2016-07-27 19:50 +0200
Subject[PATCH 0/4] x86/platform/UV: SGI UV4 Kernel Fixes
Message-ID<rZB7X-2ta-5@gated-at.bofh.it>
A few problems have been found as the UV4 BIOS and hardware is being
developed and tested.  These patches fix those problems.

Patch1: uv4_fix_gam_range_lookup_table
  - Fixes a problem with building the UV4 GAM range table

Patch2: uv4_fix_bios_init_error
  - Fixes a panic associated with the UV4 system table

Patch3: uv4_remove_uvsystab_pxm
  - Fixes a problem with incorrect data from UV4 BIOS

Patch4: uv4_disable_is_uv_system
  - Fixes a panic using the RHEL7 kdump kernel

-- 

[toc] | [next] | [standalone]


#1451438 — [PATCH 1/4] x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous

FromMike Travis <travis@sgi.com>
Date2016-07-27 19:50 +0200
Subject[PATCH 1/4] x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous
Message-ID<rZB7X-2ta-15@gated-at.bofh.it>
In reply to#1451437
The UV4 Socket IDs are not guaranteed to equate to Node values which
can cause the GAM (Global Addressable Memory) table lookups to fail.
Fix this by using an independent index into the GAM table instead of
the Socket ID to reference the base address.

Reviewed-by: Dimitri Sivanich <sivanich@sgi.com>
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com>
Tested-by: Frank Ramsay <framsay@sgi.com>
Tested-by: John Estabrook <estabrook@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
---
 arch/x86/kernel/apic/x2apic_uv_x.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

--- linux-3.12.orig/arch/x86/kernel/apic/x2apic_uv_x.c
+++ linux-3.12/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -325,7 +325,7 @@ static __init void build_uv_gr_table(voi
 	struct uv_gam_range_entry *gre = uv_gre_table;
 	struct uv_gam_range_s *grt;
 	unsigned long last_limit = 0, ram_limit = 0;
-	int bytes, i, sid, lsid = -1;
+	int bytes, i, sid, lsid = -1, indx = 0, lindx = -1;
 
 	if (!gre)
 		return;
@@ -356,11 +356,12 @@ static __init void build_uv_gr_table(voi
 		}
 		sid = gre->sockid - _min_socket;
 		if (lsid < sid) {		/* new range */
-			grt = &_gr_table[sid];
-			grt->base = lsid;
+			grt = &_gr_table[indx];
+			grt->base = lindx;
 			grt->nasid = gre->nasid;
 			grt->limit = last_limit = gre->limit;
 			lsid = sid;
+			lindx = indx++;
 			continue;
 		}
 		if (lsid == sid && !ram_limit) {	/* update range */
@@ -371,7 +372,7 @@ static __init void build_uv_gr_table(voi
 		}
 		if (!ram_limit) {		/* non-contiguous ram range */
 			grt++;
-			grt->base = sid - 1;
+			grt->base = lindx;
 			grt->nasid = gre->nasid;
 			grt->limit = last_limit = gre->limit;
 			continue;

-- 

[toc] | [prev] | [next] | [standalone]


#1451439 — [PATCH 4/4] x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV

FromMike Travis <travis@sgi.com>
Date2016-07-27 19:50 +0200
Subject[PATCH 4/4] x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV
Message-ID<rZB7X-2ta-13@gated-at.bofh.it>
In reply to#1451437
The latest UV kernel support panics when RHEL7 kexec's the kdump kernel
to make a dumpfile.  This patch fixes the problem by turning off all UV
support if NUMA is off.

Reviewed-by: Dimitri Sivanich <sivanich@sgi.com>
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com>
Tested-by: Frank Ramsay <framsay@sgi.com>
Tested-by: John Estabrook <estabrook@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
---
 arch/x86/kernel/apic/x2apic_uv_x.c |    5 +++++
 1 file changed, 5 insertions(+)

--- linux-3.12.orig/arch/x86/kernel/apic/x2apic_uv_x.c
+++ linux-3.12/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -223,6 +223,11 @@ static int __init uv_acpi_madt_oem_check
 	if (strncmp(oem_id, "SGI", 3) != 0)
 		return 0;
 
+	if (numa_off) {
+		pr_err("UV: NUMA is off, disabling UV support\n");
+		return 0;
+	}
+
 	/* Setup early hub type field in uv_hub_info for Node 0 */
 	uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0;
 

-- 

[toc] | [prev] | [next] | [standalone]


#1451447

FromGreg KH <gregkh@linuxfoundation.org>
Date2016-07-27 20:10 +0200
Message-ID<rZBrj-2Qg-13@gated-at.bofh.it>
In reply to#1451437
On Wed, Jul 27, 2016 at 12:33:31PM -0500, Mike Travis wrote:
> 
> A few problems have been found as the UV4 BIOS and hardware is being
> developed and tested.  These patches fix those problems.
> 
> Patch1: uv4_fix_gam_range_lookup_table
>   - Fixes a problem with building the UV4 GAM range table
> 
> Patch2: uv4_fix_bios_init_error
>   - Fixes a panic associated with the UV4 system table
> 
> Patch3: uv4_remove_uvsystab_pxm
>   - Fixes a problem with incorrect data from UV4 BIOS
> 
> Patch4: uv4_disable_is_uv_system
>   - Fixes a panic using the RHEL7 kdump kernel


<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web