04 Nov, 2011

4 commits

  • * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
    MIPS: O32: Provide definition of registers ta0 .. ta3.
    MIPS: perf: Add Octeon support for hardware perf.
    MIPS: perf: Add support for 64-bit perf counters.
    MIPS: perf: Reorganize contents of perf support files.
    MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
    MIPS: Add accessor macros for 64-bit performance counter registers.
    MIPS: Add probes for more Octeon II CPUs.
    MIPS: Add more CPU identifiers for Octeon II CPUs.
    MIPS: XLR, XLS: Add comment for smp setup
    MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
    MIPS: JZ4740: GPIO: Simplify IRQ demuxer
    MIPS: JZ4740: Use generic irq chip
    MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
    MIPS: Alchemy: kill au1xxx.h header
    MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
    MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
    MIPS: Alchemy: Redo PCI as platform driver
    MIPS: Alchemy: more base address cleanup
    MIPS: Alchemy: rewrite USB platform setup.
    MIPS: Alchemy: abstract USB block control register access
    ...

    Fix up trivial conflicts in:
    arch/mips/alchemy/devboards/db1x00/platform.c
    drivers/ide/Kconfig
    drivers/mmc/host/au1xmmc.c
    drivers/video/Kconfig
    sound/mips/Kconfig

    Linus Torvalds
     
  • The sb_edac driver is marginally useful on a 32-bit kernel, and
    currently has 64-bit divide compile errors when building that config.
    For now, make this build on only for 64-bit kernels.

    Signed-off-by: Josh Boyer
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Josh Boyer
     
  • * 'next' of git://github.com/kernelslacker/cpufreq:
    [CPUFREQ] db8500: support all frequencies
    [CPUFREQ] db8500: remove unneeded for loop iteration over freq_table
    [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders
    [CPUFREQ] ARM: ux500: send cpufreq notification for all cpus
    [CPUFREQ] e_powersaver: Allow user to lower maximum voltage
    [CPUFREQ] e_powersaver: Check BIOS limit for CPU frequency
    [CPUFREQ] e_powersaver: Additional checks
    [CPUFREQ] exynos4210: Show list of available frequencies

    Linus Torvalds
     
  • * 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
    mfd: Fix missing abx500 header file updates
    mfd: Add missing include to intel_msic
    x86, mrst: add platform support for MSIC MFD driver
    mfd: Expose TurnOnStatus in ab8500 sysfs
    mfd: Remove support for early drop ab8500 chip
    mfd: Add support for ab8500 v3.3
    mfd: Add ab8500 interrupt disable hook
    mfd: Convert db8500-prcmu panic() into pr_crit()
    mfd: Refactor db8500-prcmu request_clock() function
    mfd: Rename db8500-prcmu init function
    mfd: Fix db5500-prcmu defines
    mfd: db8500-prcmu voltage domain consumers additions
    mfd: db8500-prcmu reset code retrieval
    mfd: db8500-prcmu tweak for modem wakeup
    mfd: Add db8500-pcmu watchdog accessor functions for watchdog
    mfd: hwacc power state db8500-prcmu accessor
    mfd: Add db8500-prcmu accessors for PLL and SGA clock
    mfd: Move to the new db500 PRCMU API
    mfd: Create a common interface for dbx500 PRCMU drivers
    mfd: Initialize DB8500 PRCMU regs
    ...

    Fix up trivial conflicts in
    arch/arm/mach-imx/mach-mx31moboard.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-u300/include/mach/irqs.h
    drivers/mfd/wm831x-spi.c

    Linus Torvalds
     

03 Nov, 2011

36 commits

  • * 'sh-latest' of git://github.com/pmundt/linux-sh:
    sh: Add default uImage rule for sh7757lcr
    sh: modify the asm/sh_eth.h to linux/sh_eth.h in sh7757lcr
    sh: userimask.c needs linux/stat.h
    sh: pfc: Add GPIO IRQ support
    sh: modify the asm/sh_eth.h to linux/sh_eth.h in some boards
    sh: pfc: Remove unused gpio_in_use member
    sh: add parameters for EHCI and RIIC in clock-sh7757.c
    sh: kexec: Add PHYSICAL_START
    SH: irq: Remove IRQF_DISABLED
    sh: pfc: get_config_reg() shift clean up
    sh: intc: Add IRQ trigger bit field check
    sh: drop unused Kconfig symbol
    sh: Fix implicit declaration of function numa_node_id
    sh: kexec: Register crashk_res
    sh: ecovec: add renesas_usbhs DMAEngine support

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
    hwspinlock: add MAINTAINERS entries
    hwspinlock/omap: omap_hwspinlock_remove should be __devexit
    hwspinlock/u8500: add hwspinlock driver
    hwspinlock/core: register a bank of hwspinlocks in a single API call
    hwspinlock/core: remove stubs for register/unregister
    hwspinlock/core: use a mutex to protect the radix tree
    hwspinlock/core/omap: fix id issues on multiple hwspinlock devices
    hwspinlock/omap: simplify allocation scheme
    hwspinlock/core: simplify 'owner' handling
    hwspinlock/core: simplify Kconfig

    Fix up trivial conflicts (addition of omap_hwspinlock_pdata, removal of
    omap_spinlock_latency) in arch/arm/mach-omap2/hwspinlock.c

    Also, do an "evil merge" to fix a compile error in omap_hsmmc.c which
    for some reason was reported in the same email thread as the "please
    pull hwspinlock changes".

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    Revert "HID: multitouch: decide if hid-multitouch needs to handle mt devices"
    HID: drivers/hid/hid-roccat.c: eliminate a null pointer dereference
    HID: hid-apple: add device ID of another wireless aluminium
    HID: Add device IDs for Macbook Pro 8 keyboards

    Linus Torvalds
     
  • This reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.

    It causes a resume regression for Andi on his Acer Aspire 1830T post
    3.1. The screen just stays black after wakeup.

    Also, it really looks like the wrong way to suspend and resume perf
    events: I think they should be done as part of the CPU suspend and
    resume, rather than as a notifier that does smp_call_function().

    Reported-by: Andi Kleen
    Acked-by: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/linux-dm:
    dm: raid fix device status indicator when array initializing
    dm log userspace: add log device dependency
    dm log userspace: fix comment hyphens
    dm: add thin provisioning target
    dm: add persistent data library
    dm: add bufio
    dm: export dm get md
    dm table: add immutable feature
    dm table: add always writeable feature
    dm table: add singleton feature
    dm kcopyd: add dm_kcopyd_zero to zero an area
    dm: remove superfluous smp_mb
    dm: use local printk ratelimit
    dm table: propagate non rotational flag

    Linus Torvalds
     
  • * 'for-linus' of git://git.selinuxproject.org/~jmorris/linux-security:
    TOMOYO: Fix interactive judgment functionality.

    Linus Torvalds
     
  • * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: (21 commits)
    MAINTAINERS: add an entry for Edac Sandy Bridge driver
    edac: tag sb_edac as EXPERIMENTAL, as it requires more testing
    EDAC: Fix incorrect edac mode reporting in sb_edac
    edac: sb_edac: Add it to the building system
    edac: Add an experimental new driver to support Sandy Bridge CPU's
    i7300_edac: Fix error cleanup logic
    i7core_edac: Initialize memory name with cpu, channel, bank
    i7core_edac: Fix compilation on 32 bits arch
    i7core_edac: scrubbing fixups
    EDAC: Correct Kconfig dependencies
    i7core_edac: return -ENODEV if no MC is found
    i7core_edac: use edac's own way to print errors
    MAINTAINERS: remove dropped edac_mce.* from the file
    i7core_edac: Drop the edac_mce facility
    x86, MCE: Use notifier chain only for MCE decoding
    EDAC i7core: Use mce socketid for better compatibility
    i7core_edac: Don't enable memory scrubbing for Xeon 35xx
    i7core_edac: Add scrubbing support
    edac: Move edac main structs to include/linux/edac.h
    i7core_edac: Fix oops when trying to inject errors
    ...

    Linus Torvalds
     
  • * 'for-3.2' of git://linux-nfs.org/~bfields/linux:
    nfsd4: typo logical vs bitwise negate in nfsd4_decode_share_access

    Linus Torvalds
     
  • * 'misc-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    MAINTAINERS: Update entry for IA64
    [IA64] gpio: GENERIC_GPIO default must be n
    [IA64[ add CONFIG_NET_VENDOR_INTEL=y to default config files where needed
    [IA64] agp/hp-agp: Allow binding user memory to the AGP GART
    [IA64] sn2: add missing put_cpu()

    Linus Torvalds
     
  • Says Andrew:

    "60 patches. That's good enough for -rc1 I guess. I have quite a lot
    of detritus to be rechecked, work through maintainers, etc.

    - most of the remains of MM
    - rtc
    - various misc
    - cgroups
    - memcg
    - cpusets
    - procfs
    - ipc
    - rapidio
    - sysctl
    - pps
    - w1
    - drivers/misc
    - aio"

    * akpm: (60 commits)
    memcg: replace ss->id_lock with a rwlock
    aio: allocate kiocbs in batches
    drivers/misc/vmw_balloon.c: fix typo in code comment
    drivers/misc/vmw_balloon.c: determine page allocation flag can_sleep outside loop
    w1: disable irqs in critical section
    drivers/w1/w1_int.c: multiple masters used same init_name
    drivers/power/ds2780_battery.c: fix deadlock upon insertion and removal
    drivers/power/ds2780_battery.c: add a nolock function to w1 interface
    drivers/power/ds2780_battery.c: create central point for calling w1 interface
    w1: ds2760 and ds2780, use ida for id and ida_simple_get() to get it
    pps gpio client: add missing dependency
    pps: new client driver using GPIO
    pps: default echo function
    include/linux/dma-mapping.h: add dma_zalloc_coherent()
    sysctl: make CONFIG_SYSCTL_SYSCALL default to n
    sysctl: add support for poll()
    RapidIO: documentation update
    drivers/net/rionet.c: fix ethernet address macros for LE platforms
    RapidIO: fix potential null deref in rio_setup_device()
    RapidIO: add mport driver for Tsi721 bridge
    ...

    Linus Torvalds
     
  • While back-porting Johannes Weiner's patch "mm: memcg-aware global
    reclaim" for an internal effort, we noticed a significant performance
    regression during page-reclaim heavy workloads due to high contention of
    the ss->id_lock. This lock protects idr map, and serializes calls to
    idr_get_next() in css_get_next() (which is used during the memcg hierarchy
    walk).

    Since idr_get_next() is just doing a look up, we need only serialize it
    with respect to idr_remove()/idr_get_new(). By making the ss->id_lock a
    rwlock, contention is greatly reduced and performance improves.

    Tested: cat a 256m file from a ramdisk in a 128m container 50 times on
    each core (one file + container per core) in parallel on a NUMA machine.
    Result is the time for the test to complete in 1 of the containers.
    Both kernels included Johannes' memcg-aware global reclaim patches.

    Before rwlock patch: 1710.778s
    After rwlock patch: 152.227s

    Signed-off-by: Andrew Bresticker
    Cc: Paul Menage
    Cc: Li Zefan
    Acked-by: KAMEZAWA Hiroyuki
    Cc: Ying Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Bresticker
     
  • In testing aio on a fast storage device, I found that the context lock
    takes up a fair amount of cpu time in the I/O submission path. The reason
    is that we take it for every I/O submitted (see __aio_get_req). Since we
    know how many I/Os are passed to io_submit, we can preallocate the kiocbs
    in batches, reducing the number of times we take and release the lock.

    In my testing, I was able to reduce the amount of time spent in
    _raw_spin_lock_irq by .56% (average of 3 runs). The command I used to
    test this was:

    aio-stress -O -o 2 -o 3 -r 8 -d 128 -b 32 -i 32 -s 16384

    I also tested the patch with various numbers of events passed to
    io_submit, and I ran the xfstests aio group of tests to ensure I didn't
    break anything.

    Signed-off-by: Jeff Moyer
    Cc: Daniel Ehrenberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Moyer
     
  • Fix typo in code comment.

    Signed-off-by: Rakib Mullick
    Acked-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rakib Mullick
     
  • In vmballoon_reserve_page(), flags has been passed from the callee
    function (vmballoon_inflate here). So, we can determine can_sleep outside
    the loop.

    Signed-off-by: Rakib Mullick
    Acked-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rakib Mullick
     
  • Interrupting w1_delay() in w1_read_bit() results in missing the low level
    on the w1 line and receiving "1" instead of "0".

    Add local_irq_save()/local_irq_restore() around the critical section

    Signed-off-by: Jan Weitzel
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Weitzel
     
  • When using multiple masters, w1_int.c would use the .init_name from w1.c
    for all entities, which will fail when creating a corresponding sysfs
    entry. This patch uses the unique name previously generated.

    WARNING: at fs/sysfs/dir.c:451 sysfs_add_one+0x48/0x64()
    sysfs: cannot create duplicate filename '/devices/w1 bus master'
    Modules linked in:
    Call trace:
    [] warn_slowpath_common+0x34/0x44
    [] warn_slowpath_fmt+0x14/0x18
    [] sysfs_add_one+0x48/0x64
    [] create_dir+0x40/0x68
    [] sysfs_create_dir+0x66/0x78
    [] kobject_add_internal+0x6e/0x104
    [] kobject_add_varg+0x20/0x2c
    [] kobject_add+0x30/0x3c
    [] device_add+0x6a/0x378
    [] device_initialize+0x12/0x48
    [] device_register+0xc/0x10
    [] w1_add_master_device+0x162/0x274
    [] w1_gpio_probe+0x66/0xb4
    [] kernel_init+0x0/0xe8
    [] platform_drv_probe+0xc/0xe
    [] kernel_init+0x0/0xe8
    [] driver_probe_device+0x6c/0xdc
    [] __driver_attach+0x34/0x48
    [] bus_for_each_dev+0x2c/0x48
    [] __driver_attach+0x0/0x48
    [] driver_attach+0x10/0x14
    [] bus_add_driver+0x6a/0x18c
    [] driver_register+0x60/0xb8
    [] __initcall_w1_therm_init6+0x0/0x4
    [] w1_gpio_init+0x0/0x14
    [] kernel_init+0x0/0xe8
    [] platform_driver_register+0x30/0x38
    [] __initcall_w1_therm_init6+0x0/0x4
    [] w1_gpio_init+0x0/0x14
    [] kernel_init+0x0/0xe8
    [] platform_driver_probe+0xe/0x3c
    [] w1_gpio_init+0xc/0x14
    [] __initcall_w1_therm_init6+0x0/0x4
    [] w1_gpio_init+0x0/0x14
    [] do_one_initcall+0x34/0x130
    [] kernel_init+0x66/0xe8
    [] __initcall_w1_therm_init6+0x0/0x4
    [] do_exit+0x0/0x3a6
    [] kernel_init+0x0/0xe8
    [] do_exit+0x0/0x3a6

    ---[ end trace 5a9233884fead918 ]---
    kobject_add_internal failed for w1 bus master with -EEXIST, don't try to register things with the same name in the same directory.

    Signed-off-by: Florian Faber
    Cc: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Faber
     
  • Fixes the deadlock when inserting and removing the ds2780.

    Signed-off-by: Clifton Barnes
    Cc: Evgeniy Polyakov
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Clifton Barnes
     
  • Adds a nolock function to the w1 interface to avoid locking the
    mutex if needed.

    Signed-off-by: Clifton Barnes
    Cc: Evgeniy Polyakov
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Clifton Barnes
     
  • Simply creates one point to call the w1 interface.

    Signed-off-by: Clifton Barnes
    Cc: Evgeniy Polyakov
    Cc:
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Clifton Barnes
     
  • Straightforward. As an aside, the ida_init calls are not needed as far as
    I can see needed. (DEFINE_IDA does the same already).

    Signed-off-by: Jonathan Cameron
    Cc: Evgeniy Polyakov
    Acked-by: Clifton Barnes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jonathan Cameron
     
  • Add "depends on GENERIC_HARDIRQS" to avoid compile breakage on s390:

    drivers/built-in.o: In function `pps_gpio_remove':
    linux-next/drivers/pps/clients/pps-gpio.c:189: undefined reference to `free_irq'

    Signed-off-by: Heiko Carstens
    Cc: James Nuss
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • This client driver allows you to use a GPIO pin as a source for PPS
    signals. Platform data [1] are used to specify the GPIO pin number,
    label, assert event edge type, and whether clear events are captured.

    This driver is based on the work by Ricardo Martins who submitted an
    initial implementation [2] of a PPS IRQ client driver to the linuxpps
    mailing-list on Dec 3 2010.

    [1] include/linux/pps-gpio.h
    [2] http://ml.enneenne.com/pipermail/linuxpps/2010-December/004155.html

    [akpm@linux-foundation.org: remove unneeded cast of void*]
    Signed-off-by: James Nuss
    Cc: Ricardo Martins
    Acked-by: Rodolfo Giometti
    Signed-off-by: Ricardo Martins
    Cc: Alexander Gordeev
    Cc: Igor Plyatov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Nuss
     
  • A default echo function has been provided so it is no longer an error when
    you specify PPS_ECHOASSERT or PPS_ECHOCLEAR without an explicit echo
    function. This allows some code re-use and also makes it easier to write
    client drivers since the default echo function does not normally need to
    change.

    Signed-off-by: James Nuss
    Reviewed-by: Ben Gardiner
    Acked-by: Rodolfo Giometti
    Cc: Ricardo Martins
    Cc: Alexander Gordeev
    Cc: Igor Plyatov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Nuss
     
  • Lots of driver code does a dma_alloc_coherent() and then zeroes out the
    memory with a memset. Make it easy for them.

    Cc: Alexandre Bounine
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • When I tried to send a patch to remove it, Andi told me we still need to
    keep compabitlies for old libc, so we can't remove this completely. Then
    just make it default to n and remove the doc from
    feature-removal-schedule.txt.

    Signed-off-by: WANG Cong
    Cc: Eric Biederman
    Cc: Andi Kleen
    Cc: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Adding support for poll() in sysctl fs allows userspace to receive
    notifications of changes in sysctl entries. This adds a infrastructure to
    allow files in sysctl fs to be pollable and implements it for hostname and
    domainname.

    [akpm@linux-foundation.org: s/declare/define/ for definitions]
    Signed-off-by: Lucas De Marchi
    Cc: Greg KH
    Cc: Kay Sievers
    Cc: Al Viro
    Cc: "Eric W. Biederman"
    Cc: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lucas De Marchi
     
  • Update rapidio.txt to reflect changes from recent patch.
    See http://marc.info/?l=linux-kernel&m=131285620113589&w=2 for details.

    Signed-off-by: Alexandre Bounine
    Cc: Liu Gang
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Modify Ethernet addess macros to be compatible with BE/LE platforms

    Signed-off-by: Alexandre Bounine
    Cc: Chul Kim
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: [2.6.39+]
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • The "goto cleanup" path can deference "rswitch" when it is NULL.

    Reported-by: Dan Carpenter
    Signed-off-by: Alexandre Bounine
    Cc: Dan Carpenter
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Chul Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Add RapidIO mport driver for IDT TSI721 PCI Express-to-SRIO bridge device.
    The driver provides full set of callback functions defined for mport
    devices in RapidIO subsystem. It also is compatible with current version
    of RIONET driver (Ethernet over RapidIO messaging services).

    This patch is applicable to kernel versions starting from 2.6.39.

    Signed-off-by: Alexandre Bounine
    Signed-off-by: Chul Kim
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • The "struct rio_mport" contains a member of master port I/O memory
    resource structure "struct resource iores". This resource will be read
    from device tree and be used for rapidio R/W transaction memory space.
    Rapidio requests the port I/O memory resource under the root resource
    "iomem_resource".

    struct rio_mport *port;
    port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL);

    request_resource(&iomem_resource, &port->iores);

    When port failed to initialize, allocated "rio_mport" structure memory
    will be freed, and the port I/O memory resource structure pointer
    "&port->iores" will be invalid. If other requests resource under
    "iomem_resource", "&port->iores" node may be operated in the child
    resources list and this will cause the system to crash.

    So the requested port I/O memory resource should be released before
    freeing allocated "rio_mport" structure.

    Signed-off-by: Liu Gang
    Acked-by: Alexandre Bounine
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Grant Likely
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Liu Gang
     
  • The discovered bit in PGCCSR register indicates if the device has been
    discovered by system host. In Rapidio systems, some agent devices can also
    be master devices. They can issue requests into the system.

    Signed-off-by: Liu Gang
    Acked-by: Alexandre Bounine
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Liu Gang
     
  • Expand root=PARTUUID=UUID syntax to support selecting a root partition by
    integer offset from a known, unique partition. This approach provides
    similar properties to specifying a device and partition number, but using
    the UUID as the unique path prior to evaluating the offset.

    For example,
    root=PARTUUID=99DE9194-FC15-4223-9192-FC243948F88B/PARTNROFF=1
    selects the partition with UUID 99DE.. then select the next
    partition.

    This change is motivated by a particular usecase in Chromium OS where the
    bootloader can easily determine what partition it is on (by UUID) but
    doesn't perform general partition table walking.

    That said, support for this model provides a direct mechanism for the user
    to modify the root partition to boot without specifically needing to
    extract each UUID or update the bootloader explicitly when the root
    partition UUID is changed (if it is recreated to be larger, for instance).
    Pinning to a /boot-style partition UUID allows the arbitrary root
    partition reconfiguration/modifications with slightly less ambiguity than
    just [dev][partition] and less stringency than the specific root partition
    UUID.

    [sfr@canb.auug.org.au: fix init sections warning]
    Signed-off-by: Will Drewry
    Cc: Kay Sievers
    Cc: Randy Dunlap
    Cc: Namhyung Kim
    Cc: Trond Myklebust
    Cc: Jens Axboe
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Will Drewry
     
  • For the sysvsem undo, each task struct contains a sysv_sem structure with
    a pointer to the undo information.

    This pointer is only necessary if sysvipc is enabled - thus the pointer
    can be made conditional on CONFIG_SYSVIPC.

    Signed-off-by: Manfred Spraul
    Acked-by: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Mike Galbraith
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manfred Spraul
     
  • include/linux/sem.h contains several structures that are only used within
    ipc/sem.c.

    The patch moves them into ipc/sem.c - there is no need to expose the
    structures to the whole kernel.

    No functional changes, only whitespace cleanups and 80-char per line
    fixes.

    Signed-off-by: Manfred Spraul
    Acked-by: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Mike Galbraith
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manfred Spraul
     
  • semtimedop() does not handle spurious wakeups, it returns -EINTR to user
    space. Most other schedule() users would just loop and not return to user
    space. The patch adds such a loop to semtimedop()

    Signed-off-by: Manfred Spraul
    Reported-by: Peter Zijlstra
    Acked-by: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Mike Galbraith
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manfred Spraul