FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 09-24-2010, 03:21 AM
Bryan Wu
 
Default SRU: A workaround for highmem issue on OMAP4 platform

SRU Justification:

Impact:
There is a critical highmem issue on our latest OMAP4 ES2.0 platform. When we
build kernel package natively on ES2.0 platform with mem=1G and highmem
enabled, we will meet 'Bus Error' corruption from gcc shortly. And 'Unhandled
imprecised external abort' kernel oops messages. Then the whole system will be
very instable.

Fix: After some debugging, this issue is related to highmem. If we don't use
mem=1G (no memory in highmem), the corruption is gone. So there is a workaround
which is CONFIG_VMSPLIT_2G=y. So user and kernel memory split is 2G:2G instead
of default 3G:1G. We can use all the 1G memory on ES2.0, but don't put any
memory in highmem. As a result, the issue is gone.

Testcase: Add kernel boot command line mem=1G, build kernel package on ES2.0
hardware after booting the kernel. The issue is supposed to be gone with 2G:2G
split config.

A testing kernel is also here:
http://people.canonical.com/~roc/kernel/lp633227/

Notes: the VMALLOC_END value is wrong in mach-omap2, Nicolas Pitre posted a fixing
patch to upstream, which is required in this workaround.

BugLink: http://bugs.launchpad.net/bugs/#633227

Plese consider pull from
git://kernel.ubuntu.com/roc/ubuntu-maverick lp633227

Bryan Wu (1):
UBUNTU: [Config] Enable CONFIG_VMSPLIT_2G=y for OMAP4

Nicolas Pitre (1):
ARM: do not define VMALLOC_END relative to PAGE_OFFSET

arch/arm/mach-aaec2000/include/mach/vmalloc.h | 2 +-
arch/arm/mach-bcmring/include/mach/vmalloc.h | 2 +-
arch/arm/mach-clps711x/include/mach/vmalloc.h | 2 +-
arch/arm/mach-ebsa110/include/mach/vmalloc.h | 2 +-
arch/arm/mach-footbridge/include/mach/vmalloc.h | 2 +-
arch/arm/mach-h720x/include/mach/vmalloc.h | 2 +-
arch/arm/mach-integrator/include/mach/vmalloc.h | 2 +-
arch/arm/mach-msm/include/mach/vmalloc.h | 2 +-
arch/arm/mach-netx/include/mach/vmalloc.h | 2 +-
arch/arm/mach-omap1/include/mach/vmalloc.h | 2 +-
arch/arm/mach-omap2/include/mach/vmalloc.h | 2 +-
arch/arm/mach-pnx4008/include/mach/vmalloc.h | 2 +-
arch/arm/mach-rpc/include/mach/vmalloc.h | 2 +-
arch/arm/mach-shark/include/mach/vmalloc.h | 2 +-
arch/arm/mach-versatile/include/mach/vmalloc.h | 2 +-
debian.ti-omap4/config/config.common.ubuntu | 6 +++---
16 files changed, 18 insertions(+), 18 deletions(-)


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 09-30-2010, 02:19 PM
Bryan Wu
 
Default SRU: A workaround for highmem issue on OMAP4 platform

SRU Justification:

Impact:
There is a critical highmem issue on our latest OMAP4 ES2.0 platform. When we
build kernel package natively on ES2.0 platform with mem=1G and highmem
enabled, we will meet 'Bus Error' corruption from gcc shortly. And 'Unhandled
imprecised external abort' kernel oops messages. Then the whole system will be
very instable.

Fix:
Generally when using highmem we can reproduce this issue quickly, with 10, 15
minutes after started the kernel build. Using CONFIG_VMSPLIT_2G=y and Nicolas's
VMALLOC_END patch, we can put 0 memory in highmem. But without highmem, we met
another "Bad Mode" issue because of missing enabling errata fixing for L2
controller PL310. As a result, 2G:2G split and errata fixing of PL310 is a
workaround of this issue. We can fully use the whole 1G memory.

Testcase: Add kernel boot command line mem=1G, build kernel package on ES2.0
hardware after booting the kernel. The issue is supposed to be gone with 2G:2G
split config.

Notes: the VMALLOC_END value is wrong in mach-omap2, Nicolas Pitre posted a fixing
patch to upstream, which is required in this workaround.

BugLink: http://bugs.launchpad.net/bugs/#633227

The following changes since commit e00f3390942c7a1e04cc5055551d9819b9cd62c2:
Bryan Wu (1):
UBUNTU: SAUCE: Fix a buidling error when turn off CONFIG_SMP

are available in the git repository at:

git://kernel.ubuntu.com/roc/ubuntu-maverick lp633227

Bryan Wu (1):
UBUNTU: [Config] Enable CONFIG_VMSPLIT_2G=y for OMAP4

Nicolas Pitre (1):
ARM: do not define VMALLOC_END relative to PAGE_OFFSET

Ricardo Salveti de Araujo (1):
UBUNTU: [Config] OMAP: Enable needed Errata for OMAP4 to work with DMA based device drivers

arch/arm/mach-aaec2000/include/mach/vmalloc.h | 2 +-
arch/arm/mach-bcmring/include/mach/vmalloc.h | 2 +-
arch/arm/mach-clps711x/include/mach/vmalloc.h | 2 +-
arch/arm/mach-ebsa110/include/mach/vmalloc.h | 2 +-
arch/arm/mach-footbridge/include/mach/vmalloc.h | 2 +-
arch/arm/mach-h720x/include/mach/vmalloc.h | 2 +-
arch/arm/mach-integrator/include/mach/vmalloc.h | 2 +-
arch/arm/mach-msm/include/mach/vmalloc.h | 2 +-
arch/arm/mach-netx/include/mach/vmalloc.h | 2 +-
arch/arm/mach-omap1/include/mach/vmalloc.h | 2 +-
arch/arm/mach-omap2/include/mach/vmalloc.h | 2 +-
arch/arm/mach-pnx4008/include/mach/vmalloc.h | 2 +-
arch/arm/mach-rpc/include/mach/vmalloc.h | 2 +-
arch/arm/mach-shark/include/mach/vmalloc.h | 2 +-
arch/arm/mach-versatile/include/mach/vmalloc.h | 2 +-
debian.ti-omap4/config/config.common.ubuntu | 8 ++++----
16 files changed, 19 insertions(+), 19 deletions(-)

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 07:37 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org