15 Oct, 2009

1 commit

  • For the short term, map synchronize_rcu_expedited() to
    synchronize_rcu() for TREE_PREEMPT_RCU and to
    synchronize_sched_expedited() for TREE_RCU.

    Longer term, there needs to be a real expedited grace period for
    TREE_PREEMPT_RCU, but candidate patches to date are considerably
    more complex and intrusive.

    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    Cc: npiggin@suse.de
    Cc: jens.axboe@oracle.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

09 Oct, 2009

8 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    pata_atp867x: add Power Management support
    pata_atp867x: PIO support fixes
    pata_atp867x: clarifications in timings calculations and cable detection
    pata_atp867x: fix it to not claim MWDMA support
    libata: fix incorrect link online check during probe
    ahci: filter FPDMA non-zero offset enable for Aspire 3810T
    libata: make gtf_filter per-dev
    libata: implement more acpi filtering options
    libata: cosmetic updates
    ahci: display all AHCI 1.3 HBA capability flags (v2)
    pata_ali: trivial fix of a very frequent spelling mistake
    ahci: disable 64bit DMA by default on SB600s

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

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: fix requeue_pi key imbalance
    futex: Fix typo in FUTEX_WAIT/WAKE_BITSET_PRIVATE definitions
    rcu: Place root rcu_node structure in separate lockdep class
    rcu: Make hot-unplugged CPU relinquish its own RCU callbacks
    rcu: Move rcu_barrier() to rcutree
    futex: Move exit_pi_state() call to release_mm()
    futex: Nullify robust lists after cleanup
    futex: Fix locking imbalance
    panic: Fix panic message visibility by calling bust_spinlocks(0) before dying
    rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function
    rcu: Clean up code based on review feedback from Josh Triplett, part 4
    rcu: Clean up code based on review feedback from Josh Triplett, part 3
    rcu: Fix rcu_lock_map build failure on CONFIG_PROVE_LOCKING=y
    rcu: Clean up code to address Ingo's checkpatch feedback
    rcu: Clean up code based on review feedback from Josh Triplett, part 2
    rcu: Clean up code based on review feedback from Josh Triplett

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

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, pci: Correct spelling in a comment
    x86: Simplify bound checks in the MTRR code
    x86: EDAC: carve out AMD MCE decoding logic
    initcalls: Add early_initcall() for modules
    x86: EDAC: MCE: Fix MCE decoding callback logic

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

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tracing: user local buffer variable for trace branch tracer
    tracing: fix warning on kernel/trace/trace_branch.c andtrace_hw_branches.c
    ftrace: check for failure for all conversions
    tracing: correct module boundaries for ftrace_release
    tracing: fix transposed numbers of lock_depth and preempt_count
    trace: Fix missing assignment in trace_ctxwake_*
    tracing: Use free_percpu instead of kfree
    tracing: Check total refcount before releasing bufs in profile_enable failure

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

    * 'sparc-perf-events-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA
    perf_event: Provide vmalloc() based mmap() backing

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

    * 'perf-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_events: Make ABI definitions available to userspace
    perf tools: elf_sym__is_function() should accept "zero" sized functions
    tracing/syscalls: Use long for syscall ret format and field definitions
    perf trace: Update eval_flag() flags array to match interrupt.h
    perf trace: Remove unused code in builtin-trace.c
    perf: Propagate term signal to child

    Linus Torvalds
     
  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (24 commits)
    drm/radeon/kms: fix vline register for second head.
    drm/r600: avoid assigning vb twice in blit code
    drm/radeon: use list_for_each_entry instead of list_for_each
    drm/radeon/kms: Fix AGP support for R600/RV770 family (v2)
    drm/radeon/kms: Fallback to non AGP when acceleration fails to initialize (v2)
    drm/radeon/kms: Fix RS600/RV515/R520/RS690 IRQ
    drm/radeon: Fix setting of bits
    drm/ttm: fix refcounting in ttm global code.
    drm/fb: add more correct 8/16/24/32 bpp fb support.
    drm/fb: add setcmap and fix 8-bit support.
    drm/radeon/kms: respect single crtc cards, only create one crtc. (v2)
    drm: Delete the DRM_DEBUG_KMS in drm_mode_cursor_ioctl
    drm/radeon/kms: add support for "Surround View"
    drm/radeon/kms: Fix irq handling on AVIVO hw
    drm/radeon/kms: R600/RV770 remove dead code and print message for wrong BIOS
    drm/radeon/kms: Fix R600/RV770 disable acceleration path
    drm/radeon/kms: Fix R600/RV770 startup path & reset
    drm/radeon/kms: Fix R600 write back buffer
    drm/radeon/kms: Remove old init path as no hw use it anymore
    drm/radeon/kms: Convert RS600 to new init path
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
    ethoc: limit the number of buffers to 128
    ethoc: use system memory as buffer
    ethoc: align received packet to make IP header at word boundary
    ethoc: fix buffer address mapping
    ethoc: fix typo to compute number of tx descriptors
    au1000_eth: Duplicate test of RX_OVERLEN bit in update_rx_stats()
    netxen: Fix Unlikely(x) > y
    pasemi_mac: ethtool get settings fix
    add maintainer for network drop monitor kernel service
    tg3: Fix phylib locking strategy
    rndis_host: support ETHTOOL_GPERMADDR
    ipv4: arp_notify address list bug
    gigaset: add kerneldoc comments
    gigaset: correct debugging output selection
    gigaset: improve error recovery
    gigaset: fix device ERROR response handling
    gigaset: announce if built with debugging
    gigaset: handle isoc frame errors more gracefully
    gigaset: linearize skb
    gigaset: fix reject/hangup handling
    ...

    Linus Torvalds
     

08 Oct, 2009

2 commits


07 Oct, 2009

1 commit


06 Oct, 2009

7 commits

  • Some architectures such as Sparc, ARM and MIPS (basically
    everything with flush_dcache_page()) need to deal with dcache
    aliases by carefully placing pages in both kernel and user maps.

    These architectures typically have to use vmalloc_user() for this.

    However, on other architectures, vmalloc() is not needed and has
    the downsides of being more restricted and slower than regular
    allocations.

    Signed-off-by: Peter Zijlstra
    Acked-by: David Miller
    Cc: Andrew Morton
    Cc: Jens Axboe
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Signed-off-by: Chuck Ebbert
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Chuck Ebbert
     
  • Add ->gtf_filter to ata_device and set it to ata_acpi_gtf_filter when
    initializing ata_link. This is to allow quirks which apply different
    gtf filters.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Currently libata-acpi can only filter DIPM among SATA feature enables
    via _GTF. This patch adds the capability to filter out FPDMA non-zero
    offset, in-order guarantee and auto-activation.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • We're about to add more SATA_* and ATA_ACPI_FILTER_* constants.
    Reformat them in preparation.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The previous patches had some unwanted side effects, I've fixed
    the lack of 32bpp working, and fixed up 16bpp so it should also work.

    this also adds the interface to allow the driver to set a preferred
    console depth so for example low memory rn50 can set it to 8bpp.
    It also catches 24bpp on cards that can't do it and forces 32bpp.

    Tested on r100/r600/i945.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Whitespace fixes, updated comments, and trivial code movement.

    o Fix whitespace error in RCU_HEAD_INIT()

    o Move "So where is rcu_write_lock()" comment so that it does
    not come between the rcu_read_unlock() header comment and
    the rcu_read_unlock() definition.

    o Move the module_param statements for blimit, qhimark, and
    qlowmark to immediately follow the corresponding
    definitions.

    o In __rcu_offline_cpu(), move the assignment to rdp_me
    inside the "if" statement, given that rdp_me is not used
    outside of that "if" statement.

    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: akpm@linux-foundation.org
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

05 Oct, 2009

6 commits

  • The following user-space program fails to compile:

    #include
    #include
    int main() { return 0; }

    The reason is that tests __GLIBC__ to decide whether it
    should define various structures and macros that are now defined for
    user-space by , but __GLIBC__ is not defined if no libc
    headers have yet been included.

    It seems safe to drop support for libc 5 now.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Bastian Blank
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • This adds support for the setcmap api and fixes the 8bpp
    support at least on radeon hardware. It adds a new load_lut
    hook which can be called once the color map is setup.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Also add single crtc for RN50 chips.

    changes in v2:
    fix vblank init to respect single crtc flag
    fix r100 mode bandwidth to respect single crtc flag

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (41 commits)
    Revert "Seperate read and write statistics of in_flight requests"
    cfq-iosched: don't delay async queue if it hasn't dispatched at all
    block: Topology ioctls
    cfq-iosched: use assigned slice sync value, not default
    cfq-iosched: rename 'desktop' sysfs entry to 'low_latency'
    cfq-iosched: implement slower async initiate and queue ramp up
    cfq-iosched: delay async IO dispatch, if sync IO was just done
    cfq-iosched: add a knob for desktop interactiveness
    Add a tracepoint for block request remapping
    block: allow large discard requests
    block: use normal I/O path for discard requests
    swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL
    fs/bio.c: move EXPORT* macros to line after function
    Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs
    cciss: fix build when !PROC_FS
    block: Do not clamp max_hw_sectors for stacking devices
    block: Set max_sectors correctly for stacking devices
    cciss: cciss_host_attr_groups should be const
    cciss: Dynamically allocate the drive_info_struct for each logical drive.
    cciss: Add usage_count attribute to each logical drive in /sys
    ...

    Linus Torvalds
     
  • This reverts commit a9327cac440be4d8333bba975cbbf76045096275.

    Corrado Zoccolo reports:

    "with 2.6.32-rc1 I started getting the following strange output from
    "iostat -kx 2":
    Linux 2.6.31bisect (et2) 04/10/2009 _i686_ (2 CPU)

    avg-cpu: %user %nice %system %iowait %steal %idle
    10,70 0,00 3,16 15,75 0,00 70,38

    Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s
    avgrq-sz avgqu-sz await svctm %util
    sda 18,22 0,00 0,67 0,01 14,77 0,02
    43,94 0,01 10,53 39043915,03 2629219,87
    sdb 60,89 9,68 50,79 3,04 1724,43 50,52
    65,95 0,70 13,06 488437,47 2629219,87

    avg-cpu: %user %nice %system %iowait %steal %idle
    2,72 0,00 0,74 0,00 0,00 96,53

    Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s
    avgrq-sz avgqu-sz await svctm %util
    sda 0,00 0,00 0,00 0,00 0,00 0,00
    0,00 0,00 0,00 0,00 100,00
    sdb 0,00 0,00 0,00 0,00 0,00 0,00
    0,00 0,00 0,00 0,00 100,00

    avg-cpu: %user %nice %system %iowait %steal %idle
    6,68 0,00 0,99 0,00 0,00 92,33

    Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s
    avgrq-sz avgqu-sz await svctm %util
    sda 0,00 0,00 0,00 0,00 0,00 0,00
    0,00 0,00 0,00 0,00 100,00
    sdb 0,00 0,00 0,00 0,00 0,00 0,00
    0,00 0,00 0,00 0,00 100,00

    avg-cpu: %user %nice %system %iowait %steal %idle
    4,40 0,00 0,73 1,47 0,00 93,40

    Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s
    avgrq-sz avgqu-sz await svctm %util
    sda 0,00 0,00 0,00 0,00 0,00 0,00
    0,00 0,00 0,00 0,00 100,00
    sdb 0,00 4,00 0,00 3,00 0,00 28,00
    18,67 0,06 19,50 333,33 100,00

    Global values for service time and utilization are garbage. For
    interval values, utilization is always 100%, and service time is
    higher than normal.

    I bisected it down to:
    [a9327cac440be4d8333bba975cbbf76045096275] Seperate read and write
    statistics of in_flight requests
    and verified that reverting just that commit indeed solves the issue
    on 2.6.32-rc1."

    So until this is debugged, revert the bad commit.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

04 Oct, 2009

1 commit

  • Not all users of the topology information want to use libblkid. Provide
    the topology information through bdev ioctls.

    Also clarify sector size comments for existing BLK ioctls.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Martin K. Petersen
     

03 Oct, 2009

5 commits


02 Oct, 2009

8 commits

  • Complete the early_initcall() API by making it available in modules
    too. To be used by the EDAC/MCE code.

    Signed-off-by: Borislav Petkov
    Acked-by: Linus Torvalds
    Cc: Andi Kleen
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Borislav Petkov
     
  • This patch clean up/fixes for memcg's uncharge soft limit path.

    Problems:
    Now, res_counter_charge()/uncharge() handles softlimit information at
    charge/uncharge and softlimit-check is done when event counter per memcg
    goes over limit. Now, event counter per memcg is updated only when
    memory usage is over soft limit. Here, considering hierarchical memcg
    management, ancesotors should be taken care of.

    Now, ancerstors(hierarchy) are handled in charge() but not in uncharge().
    This is not good.

    Prolems:
    1. memcg's event counter incremented only when softlimit hits. That's bad.
    It makes event counter hard to be reused for other purpose.

    2. At uncharge, only the lowest level rescounter is handled. This is bug.
    Because ancesotor's event counter is not incremented, children should
    take care of them.

    3. res_counter_uncharge()'s 3rd argument is NULL in most case.
    ops under res_counter->lock should be small. No "if" sentense is better.

    Fixes:
    * Removed soft_limit_xx poitner and checks in charge and uncharge.
    Do-check-only-when-necessary scheme works enough well without them.

    * make event-counter of memcg incremented at every charge/uncharge.
    (per-cpu area will be accessed soon anyway)

    * All ancestors are checked at soft-limit-check. This is necessary because
    ancesotor's event counter may never be modified. Then, they should be
    checked at the same time.

    Reviewed-by: Daisuke Nishimura
    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Paul Menage
    Cc: Li Zefan
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • The asm-generic/gpio.h header uses the might_sleep() macro but doesn't
    include the header for it, so any source code that might include
    linux/gpio.h before linux/kernel.h can easily lead to a build failure.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • [akpm@linux-foundation.org: fix KVM]
    Signed-off-by: Alexey Dobriyan
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Since 2.6.31 now has request-based device-mapper, it's useful to have
    a tracepoint for request-remapping as well as bio-remapping.
    This patch adds a tracepoint for request-remapping, trace_block_rq_remap().

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Cc: Alasdair G Kergon
    Cc: Li Zefan
    Signed-off-by: Jens Axboe

    Jun'ichi Nomura
     
  • Currently we set the bio size to the byte equivalent of the blocks to
    be trimmed when submitting the initial DISCARD ioctl. That means it
    is subject to the max_hw_sectors limitation of the HBA which is
    much lower than the size of a DISCARD request we can support.
    Add a separate max_discard_sectors tunable to limit the size for discard
    requests.

    We limit the max discard request size in bytes to 32bit as that is the
    limit for bio->bi_size. This could be much larger if we had a way to pass
    that information through the block layer.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • prepare_discard_fn() was being called in a place where memory allocation
    was effectively impossible. This makes it inappropriate for all but
    the most trivial translations of Linux's DISCARD operation to the block
    command set. Additionally adding a payload there makes the ownership
    of the bio backing unclear as it's now allocated by the device driver
    and not the submitter as usual.

    It is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether
    the queue supports discard operations or not. blkdev_issue_discard now
    allocates a one-page, sector-length payload which is the right thing
    for the common ATA and SCSI implementations.

    The mtd implementation of prepare_discard_fn() is replaced with simply
    checking for the request being a discard.

    Largely based on a previous patch from Matthew Wilcox
    which did the prepare_discard_fn but not the different payload allocation
    yet.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs
    introduced in commit 1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82.
    Release kobject also in case the request_fn is NULL.

    Problem was noticed via kmemleak backtrace when some sysfs entries were
    note properly destroyed during device removal:

    unreferenced object 0xffff88001aa76640 (size 80):
    comm "lvcreate", pid 2120, jiffies 4294885144
    hex dump (first 32 bytes):
    01 00 00 00 00 00 00 00 f0 65 a7 1a 00 88 ff ff .........e......
    90 66 a7 1a 00 88 ff ff 86 1d 53 81 ff ff ff ff .f........S.....
    backtrace:
    [] kmemleak_alloc+0x26/0x60
    [] kmem_cache_alloc+0x133/0x1c0
    [] sysfs_new_dirent+0x41/0x120
    [] sysfs_add_file_mode+0x3c/0xb0
    [] internal_create_group+0xc1/0x1a0
    [] sysfs_create_group+0x13/0x20
    [] blk_trace_init_sysfs+0x14/0x20
    [] blk_register_queue+0x3c/0xf0
    [] add_disk+0x94/0x160
    [] dm_create+0x598/0x6e0 [dm_mod]
    [] dev_create+0x51/0x350 [dm_mod]
    [] ctl_ioctl+0x1a3/0x240 [dm_mod]
    [] dm_compat_ctl_ioctl+0x12/0x20 [dm_mod]
    [] compat_sys_ioctl+0xcd/0x4f0
    [] sysenter_dispatch+0x7/0x2c
    [] 0xffffffffffffffff

    Signed-off-by: Zdenek Kabelac
    Reviewed-by: Li Zefan
    Signed-off-by: Jens Axboe

    Zdenek Kabelac
     

01 Oct, 2009

1 commit