]>
git.karo-electronics.de Git - karo-tx-linux.git/log
Andrew Morton [Sat, 16 Jul 2011 13:30:38 +0000 (23:30 +1000)]
fix code layout
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
KAMEZAWA Hiroyuki [Sat, 16 Jul 2011 13:30:37 +0000 (23:30 +1000)]
Currently we are keeping faulted page locked throughout whole __do_fault
call (except for page_mkwrite code path) after calling file system's fault
code. If we do early COW, we allocate a new page which has to be charged
for a memcg (mem_cgroup_newpage_charge).
This function, however, might block for unbounded amount of time if memcg
oom killer is disabled or fork-bomb is running because the only way out of
the OOM situation is either an external event or OOM-situation fix.
In the end we are keeping the faulted page locked and blocking other
processes from faulting it in which is not good at all because we are
basically punishing potentially an unrelated process for OOM condition in
a different group (I have seen stuck system because of ld-2.11.1.so being
locked).
We can do test easily.
% cgcreate -g memory:A
% cgset -r memory.limit_in_bytes=64M A
% cgset -r memory.memsw.limit_in_bytes=64M A
% cd kernel_dir; cgexec -g memory:A make -j
Then, the whole system will live-locked until you kill 'make -j'
by hands (or push reboot...) This is because some important page in a
a shared library are locked.
Considering again, the new page is not necessary to be allocated
with lock_page() held. And usual page allocation may dive into
long memory reclaim loop with holding lock_page() and can cause
very long latency.
There are 3 ways.
1. do allocation/charge before lock_page()
Pros. - simple and can handle page allocation in the same manner.
This will reduce holding time of lock_page() in general.
Cons. - we do page allocation even if ->fault() returns error.
2. do charge after unlock_page(). Even if charge fails, it's just OOM.
Pros. - no impact to non-memcg path.
Cons. - implemenation requires special cares of LRU and we need to modify
page_add_new_anon_rmap()...
3. do unlock->charge->lock again method.
Pros. - no impact to non-memcg path.
Cons. - This may kill LOCK_PAGE_RETRY optimization. We need to release
lock and get it again...
This patch moves "charge" and memory allocation for COW page
before lock_page(). Then, we can avoid scanning LRU with holding
a lock on a page and latency under lock_page() will be reduced.
Then, above livelock disappears.
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reported-by: Lutz Vieweg <lvml@5t9.de>
Original-idea-by: Michal Hocko <mhocko@suse.cz>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Ying Han <yinghan@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stephen Rothwell [Tue, 26 Jul 2011 04:44:09 +0000 (14:44 +1000)]
Merge remote-tracking branch 'writeback/next'
Conflicts:
fs/fs-writeback.c
mm/filemap.c
Stephen Rothwell [Tue, 26 Jul 2011 04:39:13 +0000 (14:39 +1000)]
Merge remote-tracking branch 'tmem/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:37:29 +0000 (14:37 +1000)]
Merge remote-tracking branch 'staging/staging-next'
Conflicts:
Documentation/feature-removal-schedule.txt
drivers/staging/bcm/headers.h
drivers/staging/brcm80211/brcmfmac/dhd_linux.c
drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h
drivers/staging/brcm80211/brcmfmac/wl_iw.c
drivers/staging/et131x/et131x_netdev.c
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8192e/r8192E.h
drivers/staging/tm6000/tm6000-alsa.c
drivers/staging/usbip/userspace/src/utils.h
Stephen Rothwell [Tue, 26 Jul 2011 04:23:09 +0000 (14:23 +1000)]
Merge remote-tracking branch 'usb/usb-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Tue, 26 Jul 2011 04:19:42 +0000 (14:19 +1000)]
Merge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:18:15 +0000 (14:18 +1000)]
Merge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:16:49 +0000 (14:16 +1000)]
Merge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:15:24 +0000 (14:15 +1000)]
Merge remote-tracking branch 'namespace/master'
Stephen Rothwell [Tue, 26 Jul 2011 04:14:06 +0000 (14:14 +1000)]
Merge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Tue, 26 Jul 2011 04:12:27 +0000 (14:12 +1000)]
Merge remote-tracking branch 'drivers-x86/linux-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Tue, 26 Jul 2011 04:06:46 +0000 (14:06 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:06:10 +0000 (14:06 +1000)]
Merge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Tue, 26 Jul 2011 04:06:00 +0000 (14:06 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Tue, 26 Jul 2011 04:04:25 +0000 (14:04 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Tue, 26 Jul 2011 04:01:45 +0000 (14:01 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:59:56 +0000 (13:59 +1000)]
Merge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:59:10 +0000 (13:59 +1000)]
Merge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:57:31 +0000 (13:57 +1000)]
Merge remote-tracking branch 'security-testing/next'
Conflicts:
security/tomoyo/realpath.c
Stephen Rothwell [Tue, 26 Jul 2011 03:55:58 +0000 (13:55 +1000)]
Merge remote-tracking branch 'voltage/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:54:18 +0000 (13:54 +1000)]
Merge remote-tracking branch 'fbdev/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:52:38 +0000 (13:52 +1000)]
Merge remote-tracking branch 'drm/drm-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:51:04 +0000 (13:51 +1000)]
Merge remote-tracking branch 'mfd/for-next'
Conflicts:
drivers/gpio/Makefile
drivers/mfd/Makefile
Stephen Rothwell [Tue, 26 Jul 2011 03:49:36 +0000 (13:49 +1000)]
Merge remote-tracking branch 'md/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:42:57 +0000 (13:42 +1000)]
Merge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:41:29 +0000 (13:41 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:41:22 +0000 (13:41 +1000)]
Merge remote-tracking branch 'leds/for-mm'
Conflicts:
drivers/leds/Kconfig
Stephen Rothwell [Tue, 26 Jul 2011 03:39:38 +0000 (13:39 +1000)]
Merge remote-tracking branch 'battery/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:37:59 +0000 (13:37 +1000)]
Merge branch 'quilt/device-mapper'
Stephen Rothwell [Tue, 26 Jul 2011 03:37:53 +0000 (13:37 +1000)]
Merge remote-tracking branch 'block/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:36:04 +0000 (13:36 +1000)]
Merge remote-tracking branch 'input/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:36:00 +0000 (13:36 +1000)]
Merge branch 'quilt/rr'
Conflicts:
arch/m68k/kernel/module_mm.c
arch/m68k/kernel/module_no.c
arch/x86/lguest/i386_head.S
Stephen Rothwell [Tue, 26 Jul 2011 03:31:54 +0000 (13:31 +1000)]
Merge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:30:21 +0000 (13:30 +1000)]
Merge remote-tracking branch 'l2-mtd/master'
Conflicts:
drivers/mtd/maps/pxa2xx-flash.c
Stephen Rothwell [Tue, 26 Jul 2011 03:28:56 +0000 (13:28 +1000)]
Merge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:27:34 +0000 (13:27 +1000)]
Merge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:24:33 +0000 (13:24 +1000)]
Merge remote-tracking branch 'async_tx/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:23:01 +0000 (13:23 +1000)]
Merge remote-tracking branch 'slave-dma/next'
Conflicts:
drivers/dma/mv_xor.c
Stephen Rothwell [Tue, 26 Jul 2011 03:21:35 +0000 (13:21 +1000)]
Merge remote-tracking branch 'iscsi-target/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:21:30 +0000 (13:21 +1000)]
Merge remote-tracking branch 'ibft/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:21:25 +0000 (13:21 +1000)]
Merge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:19:47 +0000 (13:19 +1000)]
Merge remote-tracking branch 'cpupowerutils/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:18:25 +0000 (13:18 +1000)]
Merge remote-tracking branch 'powertools/tools-test'
Stephen Rothwell [Tue, 26 Jul 2011 03:17:05 +0000 (13:17 +1000)]
Merge remote-tracking branch 'idle-test/idle-test'
Stephen Rothwell [Tue, 26 Jul 2011 03:10:48 +0000 (13:10 +1000)]
Merge remote-tracking branch 'acpi/test'
Conflicts:
arch/ia64/Kconfig
arch/powerpc/Kconfig
arch/x86/Kconfig
lib/Kconfig
lib/Makefile
Stephen Rothwell [Tue, 26 Jul 2011 03:10:36 +0000 (13:10 +1000)]
Merge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:09:01 +0000 (13:09 +1000)]
Merge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:07:14 +0000 (13:07 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:05:55 +0000 (13:05 +1000)]
Merge branch 'quilt/kernel-doc'
Stephen Rothwell [Tue, 26 Jul 2011 03:04:28 +0000 (13:04 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:04:26 +0000 (13:04 +1000)]
Merge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:11 +0000 (13:03 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:09 +0000 (13:03 +1000)]
Merge branch 'quilt/i2c'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:00 +0000 (13:03 +1000)]
Merge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:00:01 +0000 (13:00 +1000)]
Merge remote-tracking branch 'pci/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:58:38 +0000 (12:58 +1000)]
Merge remote-tracking branch 'squashfs/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:57:18 +0000 (12:57 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:51:35 +0000 (12:51 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Tue, 26 Jul 2011 02:13:03 +0000 (12:13 +1000)]
Merge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:12:59 +0000 (12:12 +1000)]
Merge remote-tracking branch 'logfs/master'
Conflicts:
fs/logfs/logfs.h
Stephen Rothwell [Tue, 26 Jul 2011 02:11:13 +0000 (12:11 +1000)]
Merge remote-tracking branch 'jfs/next'
Stephen Rothwell [Tue, 26 Jul 2011 02:09:34 +0000 (12:09 +1000)]
Merge remote-tracking branch 'ext4/dev'
Conflicts:
fs/ext4/inode.c
Stephen Rothwell [Tue, 26 Jul 2011 02:03:47 +0000 (12:03 +1000)]
Merge remote-tracking branch 'ext3/for_next'
Conflicts:
fs/ext3/fsync.c
Stephen Rothwell [Tue, 26 Jul 2011 02:03:40 +0000 (12:03 +1000)]
Merge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Tue, 26 Jul 2011 02:02:18 +0000 (12:02 +1000)]
Merge remote-tracking branch 'cifs/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:02:15 +0000 (12:02 +1000)]
Merge remote-tracking branch 'ceph/for-next'
Conflicts:
fs/ceph/export.c
Stephen Rothwell [Tue, 26 Jul 2011 02:00:53 +0000 (12:00 +1000)]
Merge remote-tracking branch 'xtensa/master'
Conflicts:
arch/xtensa/configs/iss_defconfig
Stephen Rothwell [Tue, 26 Jul 2011 01:59:05 +0000 (11:59 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Tue, 26 Jul 2011 01:57:51 +0000 (11:57 +1000)]
Merge remote-tracking branch 'tile/master'
Stephen Rothwell [Tue, 26 Jul 2011 01:56:38 +0000 (11:56 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Tue, 26 Jul 2011 01:55:13 +0000 (11:55 +1000)]
Merge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Tue, 26 Jul 2011 01:54:00 +0000 (11:54 +1000)]
Merge remote-tracking branch 'galak/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:52:40 +0000 (11:52 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:49:53 +0000 (11:49 +1000)]
Merge remote-tracking branch 'powerpc/next'
Conflicts:
arch/powerpc/Kconfig
drivers/Kconfig
drivers/Makefile
drivers/cpufreq/Kconfig
drivers/cpufreq/Makefile
Stephen Rothwell [Tue, 26 Jul 2011 01:48:39 +0000 (11:48 +1000)]
Merge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:47:16 +0000 (11:47 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:46:04 +0000 (11:46 +1000)]
Merge remote-tracking branch 'microblaze/next'
Conflicts:
arch/microblaze/pci/pci_32.c
Stephen Rothwell [Tue, 26 Jul 2011 01:37:59 +0000 (11:37 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:31:58 +0000 (11:31 +1000)]
Merge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:30:35 +0000 (11:30 +1000)]
Merge remote-tracking branch 'ia64/test'
Stephen Rothwell [Tue, 26 Jul 2011 01:29:17 +0000 (11:29 +1000)]
Merge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:29:13 +0000 (11:29 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Tue, 26 Jul 2011 01:28:00 +0000 (11:28 +1000)]
Merge remote-tracking branch 's5p/for-next'
Conflicts:
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-smdkc210.c
Stephen Rothwell [Tue, 26 Jul 2011 01:26:34 +0000 (11:26 +1000)]
Merge remote-tracking branch 'msm/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:26:30 +0000 (11:26 +1000)]
Merge remote-tracking branch 'i.MX/for-next'
Conflicts:
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mm-imx1.c
arch/arm/mach-imx/mm-imx21.c
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx27.c
arch/arm/mach-imx/mm-imx31.c
arch/arm/mach-imx/mm-imx35.c
arch/arm/mach-mx5/mm.c
Stephen Rothwell [Tue, 26 Jul 2011 01:24:52 +0000 (11:24 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'
Conflicts:
arch/arm/mach-exynos4/pm.c
arch/microblaze/include/asm/pci-bridge.h
Stephen Rothwell [Tue, 26 Jul 2011 01:23:25 +0000 (11:23 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'
Conflicts:
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/proc-fns.h
arch/arm/include/asm/tlb.h
arch/arm/mm/context.c
arch/arm/mm/proc-v7.S
Stephen Rothwell [Tue, 26 Jul 2011 01:22:08 +0000 (11:22 +1000)]
Merge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:54 +0000 (11:20 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:52 +0000 (11:20 +1000)]
Merge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:36 +0000 (11:20 +1000)]
Merge remote-tracking branch 'input-current/for-linus'
Joe Thornber [Tue, 26 Jul 2011 00:38:15 +0000 (10:38 +1000)]
Initial EXPERIMENTAL implementation of device-mapper thin provisioning
with snapshot support. The 'thin' target is used to create instances of
the virtual devices that are hosted in the 'thin-pool' target. The
thin-pool target provides data sharing among devices. This sharing is
made possible using the persistent-data library in the previous patch.
The main highlight of this implementation, compared to the previous
implementation of snapshots, is that it allows many virtual devices to
be stored on the same data volume, simplifying administration and
allowing sharing of data between volumes (thus reducing disk usage).
Another big feature is support for arbitrary depth of recursive
snapshots (snapshots of snapshots of snapshots ...). The previous
implementation of snapshots did this by chaining together lookup tables,
and so performance was O(depth). This new implementation uses a single
data structure so we don't get this degradation with depth.
For further information and examples of how to use this, please read
Documentation/device-mapper/thin-provisioning.txt
Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber [Tue, 26 Jul 2011 00:38:14 +0000 (10:38 +1000)]
The persistent-data library offers a re-usable framework for the storage
and management of on-disk metadata in device-mapper targets.
It's used by the thin-provisioning target in the next patch and in an
upcoming hierarchical storage target.
For further information, please read
Documentation/device-mapper/persistent-data.txt
Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Randy Dunlap [Tue, 26 Jul 2011 00:37:47 +0000 (10:37 +1000)]
General cleanups to kernel-parameters.txt:
- add missing $ARCH that are being used/referenced
- alphabetize the parameter restrictions list
- spell "IA-64" as listed in arch/ia64/Kconfig instead of "IA64"
- remove trailing whitespace
- use hyphen in 32-bit etc.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Stephen Boyd [Tue, 26 Jul 2011 00:37:47 +0000 (10:37 +1000)]
Usually kernel parameters are documented in kernel-parameters.txt
but user_debug is only documented in the Kconfig. Document the
option and point to the Kconfig help text for more info.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Jean Delvare [Tue, 26 Jul 2011 00:37:28 +0000 (10:37 +1000)]
hwmon: (max1111) Avoid extra memory allocations
We can allocate the tx and rx buffers as part of our data structure.
Doing so is faster and spares memory.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Stanislav Brabec <utx@penguin.cz>
Jean Delvare [Tue, 26 Jul 2011 00:37:28 +0000 (10:37 +1000)]
hwmon: (it87) Add chassis intrusion detection support
Add chassis intrusion detection support for all supported devices,
using the standard interface.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare [Tue, 26 Jul 2011 00:37:28 +0000 (10:37 +1000)]
hwmon: (via-cputemp) Add VID reporting support
At least VIA family 6 model D CPU report the VID settings in a MSR,
so expose the value to user-space. Not sure about model A.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Tested-by: Jeff Rickman <jrickman@myamigos.us>
Jean Delvare [Tue, 26 Jul 2011 00:37:28 +0000 (10:37 +1000)]
hwmon-vid: Add support for VIA family 6 model D CPU
The VIA family 6 model D CPU (C7-D, Eden 90 nm) can use two different
VID tables, we have to check the value of a MSR to decide which one to
use.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Tested-by: Jeff Rickman <jrickman@myamigos.us>