1. 18 9月, 2009 1 次提交
  2. 17 9月, 2009 26 次提交
  3. 16 9月, 2009 13 次提交
    • J
      jbd: Journal block numbers can ever be only 32-bit use unsigned int for them · 9c28cbcc
      Jan Kara 提交于
      It does not make sense to store block number for journal as unsigned long
      since they can be only 32-bit (because of on-disk format limitation). So
      change in-memory structures and variables to use unsigned int instead.
      Signed-off-by: NJan Kara <jack@suse.cz>
      9c28cbcc
    • P
      sched: Disable wakeup balancing · 182a85f8
      Peter Zijlstra 提交于
      Sysbench thinks SD_BALANCE_WAKE is too agressive and kbuild doesn't
      really mind too much, SD_BALANCE_NEWIDLE picks up most of the
      slack.
      
      On a dual socket, quad core, dual thread nehalem system:
      
      sysbench (--num_threads=16):
      
       SD_BALANCE_WAKE-: 13982 tx/s
       SD_BALANCE_WAKE+: 15688 tx/s
      
      kbuild (-j16):
      
       SD_BALANCE_WAKE-: 47.648295846  seconds time elapsed   ( +-   0.312% )
       SD_BALANCE_WAKE+: 47.608607360  seconds time elapsed   ( +-   0.026% )
      
      (same within noise)
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      182a85f8
    • J
      writeback: separate starting of sync vs opportunistic writeback · b6e51316
      Jens Axboe 提交于
      bdi_start_writeback() is currently split into two paths, one for
      WB_SYNC_NONE and one for WB_SYNC_ALL. Add bdi_sync_writeback()
      for WB_SYNC_ALL writeback and let bdi_start_writeback() handle
      only WB_SYNC_NONE.
      
      Push down the writeback_control allocation and only accept the
      parameters that make sense for each function. This cleans up
      the API considerably.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      b6e51316
    • J
      writeback: use RCU to protect bdi_list · cfc4ba53
      Jens Axboe 提交于
      Now that bdi_writeback_all() no longer handles integrity writeback,
      it doesn't have to block anymore. This means that we can switch
      bdi_list reader side protection to RCU.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      cfc4ba53
    • J
      fs: Assign bdi in super_block · 32a88aa1
      Jens Axboe 提交于
      We do this automatically in get_sb_bdev() from the set_bdev_super()
      callback. Filesystems that have their own private backing_dev_info
      must assign that in ->fill_super().
      
      Note that ->s_bdi assignment is required for proper writeback!
      Acked-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      32a88aa1
    • J
      writeback: get rid of wbc->for_writepages · 1fe06ad8
      Jens Axboe 提交于
      It's only set, it's never checked. Kill it.
      Acked-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      1fe06ad8
    • J
      fs: remove bdev->bd_inode_backing_dev_info · 2c96ce9f
      Jens Axboe 提交于
      It has been unused since it was introduced in:
      
      commit 520808bf20e90fdbdb320264ba7dd5cf9d47dcac
      Author: Andrew Morton <akpm@osdl.org>
      Date:   Fri May 21 00:46:17 2004 -0700
      
          [PATCH] block device layer: separate backing_dev_info infrastructure
      
      So lets just kill it.
      Acked-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      2c96ce9f
    • P
      sched: Add SD_PREFER_LOCAL · 59abf026
      Peter Zijlstra 提交于
      And turn it on for NUMA and MC domains. This improves
      locality in balancing decisions by keeping up to
      capacity amount of tasks local before looking for idle
      CPUs. (and twice the capacity if SD_POWERSAVINGS_BALANCE
      is set.)
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      59abf026
    • S
      tracing: remove notrace from __kprobes annotation · fe832a3a
      Steven Rostedt 提交于
      When ftrace had issues with NMIs, it was needed to annotate all
      the areas that kprobes had issues with notrace. Now that ftrace is
      NMI safe, the functions that limit ftrace from tracing are just a
      small few.
      
      Kprobes is too big of a set for ftrace not to trace. Remove the
      coupling.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      fe832a3a
    • K
      Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev · 2b2af54a
      Kay Sievers 提交于
      Devtmpfs lets the kernel create a tmpfs instance called devtmpfs
      very early at kernel initialization, before any driver-core device
      is registered. Every device with a major/minor will provide a
      device node in devtmpfs.
      
      Devtmpfs can be changed and altered by userspace at any time,
      and in any way needed - just like today's udev-mounted tmpfs.
      Unmodified udev versions will run just fine on top of it, and will
      recognize an already existing kernel-created device node and use it.
      The default node permissions are root:root 0600. Proper permissions
      and user/group ownership, meaningful symlinks, all other policy still
      needs to be applied by userspace.
      
      If a node is created by devtmps, devtmpfs will remove the device node
      when the device goes away. If the device node was created by
      userspace, or the devtmpfs created node was replaced by userspace, it
      will no longer be removed by devtmpfs.
      
      If it is requested to auto-mount it, it makes init=/bin/sh work
      without any further userspace support. /dev will be fully populated
      and dynamic, and always reflect the current device state of the kernel.
      With the commonly used dynamic device numbers, it solves the problem
      where static devices nodes may point to the wrong devices.
      
      It is intended to make the initial bootup logic simpler and more robust,
      by de-coupling the creation of the inital environment, to reliably run
      userspace processes, from a complex userspace bootstrap logic to provide
      a working /dev.
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Tested-By: NHarald Hoyer <harald@redhat.com>
      Tested-By: NScott James Remnant <scott@ubuntu.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2b2af54a
    • J
      Driver core: Add support for compatibility classes · 46227094
      Jean Delvare 提交于
      When turning class devices into bus devices, we may need to
      temporarily add links in sysfs so that user-space applications
      are not confused. This is done by adding the following API:
      
      * Functions to register and unregister compatibility classes.
        These appear in sysfs at the same location as regular classes, but
        instead of class devices, they contain links to bus devices.
      * Functions to create and delete such links. Additionally, the caller
        can optionally pass a target device to which a "device" link should
        point (typically that would be the device's parent), to fully emulate
        the original class device.
      
      The i2c subsystem will be the first user of this API, as i2c adapters
      are being converted from class devices to bus devices.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      46227094
    • M
      uio: add generic driver for PCI 2.3 devices · ccb86a69
      Michael S. Tsirkin 提交于
      This adds a generic uio driver that can bind to any PCI device.  First
      user will be virtualization where a qemu userspace process needs to give
      guest OS access to the device.
      
      Interrupts are handled using the Interrupt Disable bit in the PCI
      command register and Interrupt Status bit in the PCI status register.
      All devices compliant to PCI 2.3 (circa 2002) and all compliant PCI
      Express devices should support these bits.  Driver detects this support,
      and won't bind to devices which do not support the Interrupt Disable Bit
      in the command register.
      
      It's expected that more features of interest to virtualization will be
      added to this driver in the future. Possibilities are: mmap for device
      resources, MSI/MSI-X, eventfd (to interface with kvm), iommu.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Acked-by: NChris Wright <chrisw@redhat.com>
      Signed-off-by: NHans J. Koch <hjk@linutronix.de>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      ccb86a69
    • D
      driver model: constify attribute groups · a4dbd674
      David Brownell 提交于
      Let attribute group vectors be declared "const".  We'd
      like to let most attribute metadata live in read-only
      sections... this is a start.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a4dbd674