linux-mips
[Top] [All Lists]

[PATCH 00/01] Fix crash seen on sb1 CPUs caused by wrong virtual memory

To: linux-mips@linux-mips.org
Subject: [PATCH 00/01] Fix crash seen on sb1 CPUs caused by wrong virtual memory size
From: Guenter Roeck <guenter.roeck@ericsson.com>
Date: Fri, 29 Jan 2010 14:47:21 -0800
Sender: linux-mips-bounce@linux-mips.org
The following patch fixes a crash seen in 2.6.32 or later on Sibyte CPUs 
with 64 bit kernel, page size configured to 16k or 64k, and IPV6 enabled.

The problem is that VMALLOC_END is calculated to utilize more virtual memory 
bits than available on Sibyte CPUs. This causes a crash during boot.
Fix is to introduce an absolute and page size independent virtual memory
size limit which can be overridden per CPU type.

The problem was probably never seen before because no one tested the limits.
It is seen in 2.6.32 and later due to redesigned percpu memory allocation,
which attempts to allocate memory at the upper limit of virtual memory space.

The fix was verified on a bcm1480 based system with all configurable page sizes
(4k, 16k, 64k).

Open questions are
- Does the default virtual memory limit of 60 bits make sense ?
- Are there any other CPUs with known limitations which we could/should add 
  to this patch ?


<Prev in Thread] Current Thread [Next in Thread>