09 Jun, 2011

1 commit

  • This patch adds DMA support for the EP93xx SPI driver. By default the DMA is
    not enabled but it can be enabled by setting ep93xx_spi_info.use_dma to true
    in board configuration file.

    Note that the SPI driver still uses PIO for small transfers (
    Acked-by: H Hartley Sweeten
    Acked-by: Vinod Koul
    Signed-off-by: Grant Likely

    Mika Westerberg
     

02 Jun, 2011

1 commit

  • * git://git.infradead.org/iommu-2.6:
    intel-iommu: Fix off-by-one in RMRR setup
    intel-iommu: Add domain check in domain_remove_one_dev_info
    intel-iommu: Remove Host Bridge devices from identity mapping
    intel-iommu: Use coherent DMA mask when requested
    intel-iommu: Dont cache iova above 32bit
    intel-iommu: Speed up processing of the identity_mapping function
    intel-iommu: Check for identity mapping candidate using system dma mask
    intel-iommu: Only unlink device domains from iommu
    intel-iommu: Enable super page (2MiB, 1GiB, etc.) support
    intel-iommu: Flush unmaps at domain_exit
    intel-iommu: Remove obsolete comment from detect_intel_iommu
    intel-iommu: fix VT-d PMR disable for TXT on S3 resume

    Linus Torvalds
     

01 Jun, 2011

1 commit

  • There are no externally-visible changes with this. In the loop in the
    internal __domain_mapping() function, we simply detect if we are mapping:
    - size >= 2MiB, and
    - virtual address aligned to 2MiB, and
    - physical address aligned to 2MiB, and
    - on hardware that supports superpages.

    (and likewise for larger superpages).

    We automatically use a superpage for such mappings. We never have to
    worry about *breaking* superpages, since we trust that we will always
    *unmap* the same range that was mapped. So all we need to do is ensure
    that dma_pte_clear_range() will also cope with superpages.

    Adjust pfn_to_dma_pte() to take a superpage 'level' as an argument, so
    it can return a PTE at the appropriate level rather than always
    extending the page tables all the way down to level 1. Again, this is
    simplified by the fact that we should never encounter existing small
    pages when we're creating a mapping; any old mapping that used the same
    virtual range will have been entirely removed and its obsolete page
    tables freed.

    Provide an 'intel_iommu=sp_off' argument on the command line as a
    chicken bit. Not that it should ever be required.

    ==

    The original commit seen in the iommu-2.6.git was Youquan's
    implementation (and completion) of my own half-baked code which I'd
    typed into an email. Followed by half a dozen subsequent 'fixes'.

    I've taken the unusual step of rewriting history and collapsing the
    original commits in order to keep the main history simpler, and make
    life easier for the people who are going to have to backport this to
    older kernels. And also so I can give it a more coherent commit comment
    which (hopefully) gives a better explanation of what's going on.

    The original sequence of commits leading to identical code was:

    Youquan Song (3):
    intel-iommu: super page support
    intel-iommu: Fix superpage alignment calculation error
    intel-iommu: Fix superpage level calculation error in dma_pfn_level_pte()

    David Woodhouse (4):
    intel-iommu: Precalculate superpage support for dmar_domain
    intel-iommu: Fix hardware_largepage_caps()
    intel-iommu: Fix inappropriate use of superpages in __domain_mapping()
    intel-iommu: Fix phys_pfn in __domain_mapping for sglist pages

    Signed-off-by: Youquan Song
    Signed-off-by: David Woodhouse

    Youquan Song
     

30 May, 2011

6 commits

  • No virtio device does this any more, so no need to clutter lguest with it.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • ed16648eb5b86917f0b90bdcdbc857202da72f90 "Move kvm, uml, and lguest
    subdirectories" broke the lguest example launcher.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (43 commits)
    acer-wmi: support integer return type from WMI methods
    msi-laptop: fix section mismatch in reference from the function load_scm_model_init
    acer-wmi: support to set communication device state by new wmid method
    acer-wmi: allow 64-bits return buffer from WMI methods
    acer-wmi: check the existence of internal 3G device when set capability
    platform/x86:delete two unused variables
    support wlan hotkey on Acer Travelmate 5735Z
    platform-x86: intel_mid_thermal: Fix memory leak
    platform/x86: Fix Makefile for intel_mid_powerbtn
    platform/x86: Simplify intel_mid_powerbtn
    acer-wmi: Delete out-of-date documentation
    acerhdf: Clean up includes
    acerhdf: Drop pointless dependency on THERMAL_HWMON
    acer-wmi: Update MAINTAINERS
    wmi: Orphan ACPI-WMI driver
    tc1100-wmi: Orphan driver
    acer-wmi: does not allow negative number set to initial device state
    platform/oaktrail: ACPI EC Extra driver for Oaktrail
    thinkpad_acpi: Convert printks to pr_
    thinkpad_acpi: Correct !CONFIG_THINKPAD_ACPI_VIDEO warning
    ...

    Linus Torvalds
     
  • Matthew Garrett
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI EC: remove redundant code
    ACPI: Add D3 cold state
    ACPI: processor: fix processor_physically_present in UP kernel
    ACPI: Split out custom_method functionality into an own driver
    ACPI: Cleanup custom_method debug stuff
    ACPI EC: enable MSI workaround for Quanta laptops
    ACPICA: Update to version 20110413
    ACPICA: Execute an orphan _REG method under the EC device
    ACPICA: Move ACPI_NUM_PREDEFINED_REGIONS to a more appropriate place
    ACPICA: Update internal address SpaceID for DataTable regions
    ACPICA: Add more methods eligible for NULL package element removal
    ACPICA: Split all internal Global Lock functions to new file - evglock
    ACPI: EC: add another DMI check for ASUS hardware
    ACPI EC: remove dead code
    ACPICA: Fix code divergence of global lock handling
    ACPICA: Use acpi_os_create_lock interface
    ACPI: osl, add acpi_os_create_lock interface
    ACPI:Fix goto flows in thermal-sys

    Linus Torvalds
     
  • * 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
    x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param
    x86 idle: deprecate "no-hlt" cmdline param
    x86 idle APM: deprecate CONFIG_APM_CPU_IDLE
    x86 idle floppy: deprecate disable_hlt()
    x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it
    x86 idle: clarify AMD erratum 400 workaround
    idle governor: Avoid lock acquisition to read pm_qos before entering idle
    cpuidle: menu: fixed wrapping timers at 4.294 seconds

    Linus Torvalds
     

29 May, 2011

8 commits

  • mwait_idle() is a C1-only idle loop intended to be more efficient
    than HLT on SMP hardware that supports it.

    But mwait_idle() has been replaced by the more general
    mwait_idle_with_hints(), which handles both C1 and deeper C-states.
    ACPI uses only mwait_idle_with_hints(), and never uses mwait_idle().

    Deprecate mwait_idle() and the "idle=mwait" cmdline param
    to simplify the x86 idle code.

    After this change, kernels configured with
    (!CONFIG_ACPI=n && !CONFIG_INTEL_IDLE=n) when run on hardware
    that support MWAIT will simply use HLT. If MWAIT is desired
    on those systems, cpuidle and the cpuidle drivers above
    can be used.

    cc: x86@kernel.org
    cc: stable@kernel.org # .39.x
    Signed-off-by: Len Brown

    Len Brown
     
  • We'd rather that modern machines not check if HLT works on
    every entry into idle, for the benefit of machines that had
    marginal electricals 15-years ago. If those machines are still running
    the upstream kernel, they can use "idle=poll". The only difference
    will be that they'll now invoke HLT in machine_hlt().

    cc: x86@kernel.org # .39.x
    Signed-off-by: Len Brown

    Len Brown
     
  • We don't want to export the pm_idle function pointer to modules.
    Currently CONFIG_APM_CPU_IDLE w/ CONFIG_APM_MODULE forces us to.

    CONFIG_APM_CPU_IDLE is of dubious value, it runs only on 32-bit
    uniprocessor laptops that are over 10 years old. It calls into
    the BIOS during idle, and is known to cause a number of machines
    to fail.

    Removing CONFIG_APM_CPU_IDLE and will allow us to stop exporting
    pm_idle. Any systems that were calling into the APM BIOS
    at run-time will simply use HLT instead.

    cc: x86@kernel.org
    cc: Jiri Kosina
    cc: stable@kernel.org # .39.x
    Signed-off-by: Len Brown

    Len Brown
     
  • Plan to remove floppy_disable_hlt in 2012, an ancient
    workaround with comments that it should be removed.

    This allows us to remove clutter and a run-time branch
    from the idle code.

    WARN_ONCE() on invocation until it is removed.

    cc: x86@kernel.org
    cc: stable@kernel.org # .39.x
    Signed-off-by: Len Brown

    Len Brown
     
  • With /sys/kernel/debug/acpi/custom_method root can write
    to arbitrary memory and increase his priveleges, even if
    these are restricted.

    -> Make this an own debug .config option and warn about the
    security issue in the config description.

    -> Still keep acpi/debugfs.c which now only creates an empty
    /sys/kernel/debug/acpi directory. There might be other
    users of it later.

    Signed-off-by: Thomas Renninger
    Acked-by: Rafael J. Wysocki
    Acked-by: rui.zhang@intel.com
    Signed-off-by: Len Brown

    Thomas Renninger
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (36 commits)
    Cache xattr security drop check for write v2
    fs: block_page_mkwrite should wait for writeback to finish
    mm: Wait for writeback when grabbing pages to begin a write
    configfs: remove unnecessary dentry_unhash on rmdir, dir rename
    fat: remove unnecessary dentry_unhash on rmdir, dir rename
    hpfs: remove unnecessary dentry_unhash on rmdir, dir rename
    minix: remove unnecessary dentry_unhash on rmdir, dir rename
    fuse: remove unnecessary dentry_unhash on rmdir, dir rename
    coda: remove unnecessary dentry_unhash on rmdir, dir rename
    afs: remove unnecessary dentry_unhash on rmdir, dir rename
    affs: remove unnecessary dentry_unhash on rmdir, dir rename
    9p: remove unnecessary dentry_unhash on rmdir, dir rename
    ncpfs: fix rename over directory with dangling references
    ncpfs: document dentry_unhash usage
    ecryptfs: remove unnecessary dentry_unhash on rmdir, dir rename
    hostfs: remove unnecessary dentry_unhash on rmdir, dir rename
    hfsplus: remove unnecessary dentry_unhash on rmdir, dir rename
    hfs: remove unnecessary dentry_unhash on rmdir, dir rename
    omfs: remove unnecessary dentry_unhash on rmdir, dir rneame
    udf: remove unnecessary dentry_unhash from rmdir, dir rename
    ...

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    rcu: Start RCU kthreads in TASK_INTERRUPTIBLE state
    rcu: Remove waitqueue usage for cpu, node, and boost kthreads
    rcu: Avoid acquiring rcu_node locks in timer functions
    atomic: Add atomic_or()
    Documentation: Add statistics about nested locks
    rcu: Decrease memory-barrier usage based on semi-formal proof
    rcu: Make rcu_enter_nohz() pay attention to nesting
    rcu: Don't do reschedule unless in irq
    rcu: Remove old memory barriers from rcu_process_callbacks()
    rcu: Add memory barriers
    rcu: Fix unpaired rcu_irq_enter() from locking selftests

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (33 commits)
    x86: poll waiting for I/OAT DMA channel status
    maintainers: add dma engine tree details
    dmaengine: add TODO items for future work on dma drivers
    dmaengine: Add API documentation for slave dma usage
    dmaengine/dw_dmac: Update maintainer-ship
    dmaengine: move link order
    dmaengine/dw_dmac: implement pause and resume in dwc_control
    dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback
    dmaengine/dw_dmac: Divide one sg to many desc, if sg len is greater than DWC_MAX_COUNT
    dmaengine/dw_dmac: set residue as total len in dwc_tx_status if status is !DMA_SUCCESS
    dmaengine/dw_dmac: don't call callback routine in case dmaengine_terminate_all() is called
    dmaengine: at_hdmac: pause: no need to wait for FIFO empty
    pch_dma: modify pci device table definition
    pch_dma: Support new device ML7223 IOH
    pch_dma: Support I2S for ML7213 IOH
    pch_dma: Fix DMA setting issue
    pch_dma: modify for checkpatch
    pch_dma: fix dma direction issue for ML7213 IOH video-in
    dmaengine: at_hdmac: use descriptor chaining help function
    dmaengine: at_hdmac: implement pause and resume in atc_control
    ...

    Fix up trivial conflict in drivers/dma/dw_dmac.c

    Linus Torvalds
     

28 May, 2011

9 commits

  • …ck/linux-2.6-rcu into core/urgent

    Ingo Molnar
     
  • Explain what the trailing "/1" on some lock class names of
    lock_stat output means.

    Reviewed-by: Yong Zhang
    Signed-off-by: Juri Lelli
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/4DD4F6C1.5090701@gmail.com
    Signed-off-by: Ingo Molnar

    Juri Lelli
     
  • * git://git.infradead.org/mtd-2.6: (97 commits)
    mtd: kill CONFIG_MTD_PARTITIONS
    mtd: remove add_mtd_partitions, add_mtd_device and friends
    mtd: convert remaining users to mtd_device_register()
    mtd: samsung onenand: convert to mtd_device_register()
    mtd: omap2 onenand: convert to mtd_device_register()
    mtd: txx9ndfmc: convert to mtd_device_register()
    mtd: tmio_nand: convert to mtd_device_register()
    mtd: socrates_nand: convert to mtd_device_register()
    mtd: sharpsl: convert to mtd_device_register()
    mtd: s3c2410 nand: convert to mtd_device_register()
    mtd: ppchameleonevb: convert to mtd_device_register()
    mtd: orion_nand: convert to mtd_device_register()
    mtd: omap2: convert to mtd_device_register()
    mtd: nomadik_nand: convert to mtd_device_register()
    mtd: ndfc: convert to mtd_device_register()
    mtd: mxc_nand: convert to mtd_device_register()
    mtd: mpc5121_nfc: convert to mtd_device_register()
    mtd: jz4740_nand: convert to mtd_device_register()
    mtd: h1910: convert to mtd_device_register()
    mtd: fsmc_nand: convert to mtd_device_register()
    ...

    Fixed up trivial conflicts in
    - drivers/mtd/maps/integrator-flash.c: removed in ARM tree
    - drivers/mtd/maps/physmap.c: addition of afs partition probe type
    clashing with removal of CONFIG_MTD_PARTITIONS

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)
    [SCSI] lpfc 8.3.24: Extend BSG infrastructure and add link diagnostics
    [SCSI] lpfc 8.3.24: Add resource extent support
    [SCSI] lpfc 8.3.24: Add request-firmware support
    [SCSI] lpfc 8.3.24: Add SR-IOV control
    [SCSI] lpfc 8.3.24: Extended hardware support and support dump images
    [SCSI] lpfc 8.3.24: Miscellaneous Fixes and Corrections
    [SCSI] libsas: Add option for SATA soft reset
    [SCSI] libsas: check dev->gone before submitting sata i/o
    [SCSI] libsas: fix/amend device gone notification in sas_deform_port()
    [SCSI] MAINTAINERS update for SCSI (new email address)
    [SCSI] Fix Ultrastor asm snippet
    [SCSI] osst: fix warning
    [SCSI] osst: wrong index used in inner loop
    [SCSI] aic94xx: world-writable sysfs update_bios file
    [SCSI] MAINTAINERS: Add drivers/target/ entry
    [SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions
    [SCSI] target: Convert REPORT_LUNs to use int_to_scsilun
    [SCSI] target: Fix task->task_execute_queue=1 clear bug + LUN_RESET OOPs
    [SCSI] target: Fix bug with task_sg chained transport_free_dev_tasks release
    [SCSI] target: Fix interrupt context bug with stats_lock and core_tmr_alloc_req
    ...

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (45 commits)
    ARM: 6945/1: Add unwinding support for division functions
    ARM: kill pmd_off()
    ARM: 6944/1: mm: allow ASID 0 to be allocated to tasks
    ARM: 6943/1: mm: use TTBR1 instead of reserved context ID
    ARM: 6942/1: mm: make TTBR1 always point to swapper_pg_dir on ARMv6/7
    ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area
    ARM: add sendmmsg syscall
    ARM: 6863/1: allow hotplug on msm
    ARM: 6832/1: mmci: support for ST-Ericsson db8500v2
    ARM: 6830/1: mach-ux500: force PrimeCell revisions
    ARM: 6829/1: amba: make hardcoded periphid override hardware
    ARM: 6828/1: mach-ux500: delete SSP PrimeCell ID
    ARM: 6827/1: mach-netx: delete hardcoded periphid
    ARM: 6940/1: fiq: Briefly document driver responsibilities for suspend/resume
    ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2
    ARM: 6914/1: sparsemem: fix highmem detection when using SPARSEMEM
    ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM
    at91: drop at572d940hf support
    at91rm9200: introduce at91rm9200_set_type to specficy cpu package
    at91: drop boot_params and PLAT_PHYS_OFFSET
    ...

    Linus Torvalds
     
  • Russell King
     
  • * 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs:
    Create Documentation/security/, move LSM-, credentials-, and keys-related files from Documentation/ to Documentation/security/, add Documentation/security/00-INDEX, and update all occurrences of Documentation/ to Documentation/security/.

    Linus Torvalds
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
    [media] v1.88 DM04/QQBOX Move remote to use rc_core dvb-usb-remote
    [media] Add missing include guard to header file
    [media] Inlined functions should be static
    [media] Remove invalid parameter description
    [media] cpia2: fix warning about invalid trigraph sequence
    [media] s5p-csis: Add missing dependency on PLAT_S5P
    [media] gspca/kinect: wrap gspca_debug with GSPCA_DEBUG
    [media] fintek-cir: new driver for Fintek LPC SuperIO CIR function
    [media] uvcvideo: Connect video devices to media entities
    [media] uvcvideo: Register subdevices for each entity
    [media] uvcvideo: Register a v4l2_device
    [media] add V4L2-PIX-FMT-SRGGB12 & friends to docbook
    [media] Documentation/DocBook: Rename media fops xml files
    [media] Media DocBook: fix validation errors
    [media] wl12xx: g_volatile_ctrl fix: wrong field set
    [media] fix kconfig dependency warning for VIDEO_TIMBERDALE
    [media] dm1105: GPIO handling added, I2C on GPIO added, LNB control through GPIO reworked
    [media] Add support for M-5MOLS 8 Mega Pixel camera ISP

    Linus Torvalds
     
  • The documentation file for acer-wmi is long out of date, and there's not
    much point in keeping it around either.

    Signed-off-by: Carlos Corbacho
    Signed-off-by: Matthew Garrett

    Carlos Corbacho
     

27 May, 2011

14 commits

  • Tell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or
    anything else, so that the filesystem can track internally if it
    needs to push out a transaction for fdatasync or not.

    This is just the prototype change with no user for it yet. I plan
    to push large XFS changes for the next merge window, and getting
    this trivial infrastructure in this window would help a lot to avoid
    tree interdependencies.

    Also remove incorrect comments that ->dirty_inode can't block. That
    has been changed a long time ago, and many implementations rely on it.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • supply_regulator_dev (using a struct pointer) has been deprecated in favour
    of supply_regulator (using a regulator name) for quite a few releases
    now with a warning generated if it is used and there are no current in tree
    users so just remove the code.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • Now, exe_file is not proc FS dependent, so we can use it to name core
    file. So we add %E pattern for core file name cration which extract path
    from mm_struct->exe_file. Then it converts slashes to exclamation marks
    and pastes the result to the core file name itself.

    This is useful for environments where binary names are longer than 16
    character (the current->comm limitation). Also where there are binaries
    with same name but in a different path. Further in case the binery itself
    changes its current->comm after exec.

    So by doing (s/$/#/ -- # is treated as git comment):

    $ sysctl kernel.core_pattern='core.%p.%e.%E'
    $ ln /bin/cat cat45678901234567890
    $ ./cat45678901234567890
    ^Z
    $ rm cat45678901234567890
    $ fg
    ^\Quit (core dumped)
    $ ls core*

    we now get:

    core.2434.cat456789012345.!root!cat45678901234567890 (deleted)

    Signed-off-by: Jiri Slaby
    Cc: Al Viro
    Cc: Alan Cox
    Reviewed-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • The ns_cgroup is an annoying cgroup at the namespace / cgroup frontier and
    leads to some problems:

    * cgroup creation is out-of-control
    * cgroup name can conflict when pids are looping
    * it is not possible to have a single process handling a lot of
    namespaces without falling in a exponential creation time
    * we may want to create a namespace without creating a cgroup

    The ns_cgroup was replaced by a compatibility flag 'clone_children',
    where a newly created cgroup will copy the parent cgroup values.
    The userspace has to manually create a cgroup and add a task to
    the 'tasks' file.

    This patch removes the ns_cgroup as suggested in the following thread:

    https://lists.linux-foundation.org/pipermail/containers/2009-June/018616.html

    The 'cgroup_clone' function is removed because it is no longer used.

    This is a userspace-visible change. Commit 45531757b45c ("cgroup: notify
    ns_cgroup deprecated") (merged into 2.6.27) caused the kernel to emit a
    printk warning users that the feature is planned for removal. Since that
    time we have heard from XXX users who were affected by this.

    Signed-off-by: Daniel Lezcano
    Signed-off-by: Serge E. Hallyn
    Cc: Eric W. Biederman
    Cc: Jamal Hadi Salim
    Reviewed-by: Li Zefan
    Acked-by: Paul Menage
    Acked-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Lezcano
     
  • Make procs file writable to move all threads by tgid at once.

    Add functionality that enables users to move all threads in a threadgroup
    at once to a cgroup by writing the tgid to the 'cgroup.procs' file. This
    current implementation makes use of a per-threadgroup rwsem that's taken
    for reading in the fork() path to prevent newly forking threads within the
    threadgroup from "escaping" while the move is in progress.

    Signed-off-by: Ben Blum
    Cc: "Eric W. Biederman"
    Cc: Li Zefan
    Cc: Matt Helsley
    Reviewed-by: Paul Menage
    Cc: Oleg Nesterov
    Cc: David Rientjes
    Cc: Miao Xie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Blum
     
  • Add cgroup subsystem callbacks for per-thread attachment in atomic contexts

    Add can_attach_task(), pre_attach(), and attach_task() as new callbacks
    for cgroups's subsystem interface. Unlike can_attach and attach, these
    are for per-thread operations, to be called potentially many times when
    attaching an entire threadgroup.

    Also, the old "bool threadgroup" interface is removed, as replaced by
    this. All subsystems are modified for the new interface - of note is
    cpuset, which requires from/to nodemasks for attach to be globally scoped
    (though per-cpuset would work too) to persist from its pre_attach to
    attach_task and attach.

    This is a pre-patch for cgroup-procs-writable.patch.

    Signed-off-by: Ben Blum
    Cc: "Eric W. Biederman"
    Cc: Li Zefan
    Cc: Matt Helsley
    Reviewed-by: Paul Menage
    Cc: Oleg Nesterov
    Cc: David Rientjes
    Cc: Miao Xie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Blum
     
  • When configfs_register_subsystem() fails, we unregister too many
    subsystems in configfs_example_init. Decrement i by one to not unregister
    non-registered subsystem.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Jiri Slaby
    Cc: Joel Becker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • I find it very handy to show the average delays in milliseconds.

    Example output (on 100 concurrent dd reading sparse files):

    CPU count real total virtual total delay total delay average
    986 3223509952 3207643301 38863410579 39.415ms
    IO count delay total delay average
    0 0 0ms
    SWAP count delay total delay average
    0 0 0ms
    RECLAIM count delay total delay average
    1059 5131834899 4ms
    dd: read=0, write=0, cancelled_write=0

    Signed-off-by: Wu Fengguang
    Cc: Mel Gorman
    Cc: Balbir Singh
    Reviewed-by: Satoru Moriya
    Reviewed-by: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wu Fengguang
     
  • Fixes

    Documentation/accounting/getdelays.c: In function `get_family_id':
    Documentation/accounting/getdelays.c:172:14: warning: variable `rc' set but not used [-Wunused-but-set-variable]

    Reported-by: "Justin P. Mattock"
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Fixes

    Documentation/accounting/getdelays.c: In function `main':
    Documentation/accounting/getdelays.c:436:7: warning: variable `i' set but not used [-Wunused-but-set-variable]

    Signed-off-by: Justin P. Mattock
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Justin P. Mattock
     
  • As declaring counter as volatile is discouraged, it is best not to use it
    in sample code as well.

    Signed-off-by: Nikanth Karthikesan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nikanth Karthikesan
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (28 commits)
    Ocfs2: Teach local-mounted ocfs2 to handle unwritten_extents correctly.
    ocfs2/dlm: Do not migrate resource to a node that is leaving the domain
    ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG
    Ocfs2/move_extents: Set several trivial constraints for threshold.
    Ocfs2/move_extents: Let defrag handle partial extent moving.
    Ocfs2/move_extents: move/defrag extents within a certain range.
    Ocfs2/move_extents: helper to calculate the defraging length in one run.
    Ocfs2/move_extents: move entire/partial extent.
    Ocfs2/move_extents: helpers to update the group descriptor and global bitmap inode.
    Ocfs2/move_extents: helper to probe a proper region to move in an alloc group.
    Ocfs2/move_extents: helper to validate and adjust moving goal.
    Ocfs2/move_extents: find the victim alloc group, where the given #blk fits.
    Ocfs2/move_extents: defrag a range of extent.
    Ocfs2/move_extents: move a range of extent.
    Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving.
    Ocfs2/move_extents: Add basic framework and source files for extent moving.
    Ocfs2/move_extents: Adding new ioctl code 'OCFS2_IOC_MOVE_EXT' to ocfs2.
    Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c
    Ocfs2: Add a new code 'OCFS2_INFO_FREEFRAG' for o2info ioctl.
    Ocfs2: Add a new code 'OCFS2_INFO_FREEINODE' for o2info ioctl.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:
    xen: cleancache shim to Xen Transcendent Memory
    ocfs2: add cleancache support
    ext4: add cleancache support
    btrfs: add cleancache support
    ext3: add cleancache support
    mm/fs: add hooks to support cleancache
    mm: cleancache core ops functions and config
    fs: add field to superblock to support cleancache
    mm/fs: cleancache documentation

    Fix up trivial conflict in fs/btrfs/extent_io.c due to includes

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: correctly decrement the extent buffer index in xfs_bmap_del_extent
    xfs: check for valid indices in xfs_iext_get_ext and xfs_iext_idx_to_irec
    xfs: fix up asserts in xfs_iflush_fork
    xfs: do not do pointer arithmetic on extent records
    xfs: do not use unchecked extent indices in xfs_bunmapi
    xfs: do not use unchecked extent indices in xfs_bmapi
    xfs: do not use unchecked extent indices in xfs_bmap_add_extent_*
    xfs: remove if_lastex
    xfs: remove the unused XFS_BMAPI_RSVBLOCKS flag
    xfs: do not discard alloc btree blocks
    xfs: add online discard support

    Linus Torvalds