1. 01 6月, 2009 1 次提交
  2. 29 5月, 2009 2 次提交
  3. 24 5月, 2009 1 次提交
  4. 22 5月, 2009 2 次提交
  5. 21 5月, 2009 1 次提交
  6. 18 5月, 2009 2 次提交
    • M
      [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2 · eb33575c
      Mel Gorman 提交于
      pfn_valid() is meant to be able to tell if a given PFN has valid memmap
      associated with it or not. In FLATMEM, it is expected that holes always
      have valid memmap as long as there is valid PFNs either side of the hole.
      In SPARSEMEM, it is assumed that a valid section has a memmap for the
      entire section.
      
      However, ARM and maybe other embedded architectures in the future free
      memmap backing holes to save memory on the assumption the memmap is never
      used. The page_zone linkages are then broken even though pfn_valid()
      returns true. A walker of the full memmap must then do this additional
      check to ensure the memmap they are looking at is sane by making sure the
      zone and PFN linkages are still valid. This is expensive, but walkers of
      the full memmap are extremely rare.
      
      This was caught before for FLATMEM and hacked around but it hits again for
      SPARSEMEM because the page_zone linkages can look ok where the PFN linkages
      are totally screwed. This looks like a hatchet job but the reality is that
      any clean solution would end up consumning all the memory saved by punching
      these unexpected holes in the memmap. For example, we tried marking the
      memmap within the section invalid but the section size exceeds the size of
      the hole in most cases so pfn_valid() starts returning false where valid
      memmap exists. Shrinking the size of the section would increase memory
      consumption offsetting the gains.
      
      This patch identifies when an architecture is punching unexpected holes
      in the memmap that the memory model cannot automatically detect and sets
      ARCH_HAS_HOLES_MEMORYMODEL. At the moment, this is restricted to EP93xx
      which is the model sub-architecture this has been reported on but may expand
      later. When set, walkers of the full memmap must call memmap_valid_within()
      for each PFN and passing in what it expects the page and zone to be for
      that PFN. If it finds the linkages to be broken, it assumes the memmap is
      invalid for that PFN.
      Signed-off-by: NMel Gorman <mel@csn.ul.ie>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      eb33575c
    • J
      reiserfs: fixup perms when xattrs are disabled · b83674c0
      Jeff Mahoney 提交于
      This adds CONFIG_REISERFS_FS_XATTR protection from reiserfs_permission.
      
      This is needed to avoid warnings during file deletions and chowns with
      xattrs disabled.
      Signed-off-by: NJeff Mahoney <jeffm@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b83674c0
  7. 16 5月, 2009 1 次提交
    • M
      libata: Media rotation rate and form factor heuristics · 4bca3286
      Martin K. Petersen 提交于
      This patch provides new heuristics for parsing both the form factor and
      media rotation rate ATA IDENFITY words.
      
      The reported ATA version must be 7 or greater and the device must return
      values defined as valid in the standard.  Only then are the
      characteristics reported to SCSI via the VPD B1 page.
      
      This seems like a reasonable compromise to me considering that we have
      been shipping several kernel releases that key off the rotation rate bit
      without any version checking whatsoever.  With no complaints so far.
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4bca3286
  8. 15 5月, 2009 1 次提交
    • J
      Revert "mm: add /proc controls for pdflush threads" · cd17cbfd
      Jens Axboe 提交于
      This reverts commit fafd688e.
      
      Work is progressing to switch away from pdflush as the process backing
      for flushing out dirty data. So it seems pointless to add more knobs
      to control pdflush threads. The original author of the patch did not
      have any specific use cases for adding the knobs, so we can easily
      revert this before 2.6.30 to avoid having to maintain this API
      forever.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      cd17cbfd
  9. 13 5月, 2009 2 次提交
  10. 09 5月, 2009 8 次提交
    • A
      Fix races around the access to ->s_options · 2a32cebd
      Al Viro 提交于
      Put generic_show_options read access to s_options under rcu_read_lock,
      split save_mount_options() into "we are setting it the first time"
      (uses in foo_fill_super()) and "we are relacing and freeing the old one",
      synchronize_rcu() before kfree() in the latter.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      2a32cebd
    • A
      Switch open_exec() and sys_uselib() to do_open_filp() · 6e8341a1
      Al Viro 提交于
      ... and make path_lookup_open() static
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6e8341a1
    • C
      romfs: cleanup romfs_fs.h · db6c1fbb
      Christoph Hellwig 提交于
      There's no kernel-only content in it anymore, so move it to header-y
      and remove the superflous #ifdef __KERNEL__.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      db6c1fbb
    • A
      New helper: deactivate_locked_super() · 74dbbdd7
      Al Viro 提交于
      Does equivalent of up_write(&s->s_umount); deactivate_super(s);
      However, it does not does not unlock it until it's all over.
      As the result, it's safe to use to dispose of new superblock on ->get_sb()
      failure exits - nobody will see the sucker until it's all over.
      Equivalent using up_write/deactivate_super is safe for that purpose
      if superblock is either	safe to use or has NULL ->s_root when we unlock.
      Normally filesystems take the required precautions, but
      	a) we do have bugs in that area in some of them.
      	b) up_write/deactivate_super sequence is extremely common,
      so the helper makes sense anyway.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      74dbbdd7
    • J
      reiserfs: remove privroot hiding in lookup · 677c9b2e
      Jeff Mahoney 提交于
       With Al Viro's patch to move privroot lookup to fs mount, there's no need
       to have special code to hide the privroot in reiserfs_lookup.
      
       I've also cleaned up the privroot hiding in reiserfs_readdir_dentry and
       removed the last user of reiserfs_xattrs().
      Signed-off-by: NJeff Mahoney <jeffm@suse.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      677c9b2e
    • J
      reiserfs: fixup xattr_root caching · ab17c4f0
      Jeff Mahoney 提交于
       The xattr_root caching was broken from my previous patch set. It wouldn't
       cause corruption, but could cause decreased performance due to allocating
       a larger chunk of the journal (~ 27 blocks) than it would actually use.
      
       This patch loads the xattr root dentry at xattr initialization and creates
       it on-demand. Since we're using the cached dentry, there's no point
       in keeping lookup_or_create_dir around, so that's removed.
      Signed-off-by: NJeff Mahoney <jeffm@suse.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ab17c4f0
    • A
      Always lookup priv_root on reiserfs mount and keep it · edcc37a0
      Al Viro 提交于
      ... even if it's a negative dentry.  That way we can set ->d_op on
      root before anyone could race with us.  Simplify d_compare(), while
      we are at it.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      edcc37a0
    • G
      Revert driver core: move platform_data into platform_device · e67c8562
      Greg Kroah-Hartman 提交于
      This reverts commit 006f4571:
      
      	This patch moves platform_data from struct device into
      	struct platform_device, based on the two ideas:
      
      	1. Now all platform_driver is registered by platform_driver_register,
      	   which makes probe()/release()/... of platform_driver passed parameter
      	   of platform_device *, so platform driver can get platform_data from
      	   platform_device;
      
      	2. Other kind of devices do not need to use platform_data, we can
      	   decrease size of device if moving it to platform_device.
      
      	Taking into consideration of thousands of files to be fixed and they
      	can't be finished in one night(maybe it will take a long time), so we
      	keep platform_data in device to allow two kind of cases coexist until
      	all platform devices pass its platfrom data from
      	platform_device->platform_data.
      
      	All patches to do this kind of conversion are welcome.
      
      As we don't really want to do it, it was a bad idea.
      
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Ming Lei <tom.leiming@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      e67c8562
  11. 05 5月, 2009 3 次提交
    • P
      netfilter: xt_cluster: fix use of cluster match with 32 nodes · 280f37af
      Pablo Neira Ayuso 提交于
      This patch fixes a problem when you use 32 nodes in the cluster
      match:
      
      % iptables -I PREROUTING -t mangle -i eth0 -m cluster \
        --cluster-total-nodes  32  --cluster-local-node  32 \
        --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff
      iptables: Invalid argument. Run `dmesg' for more information.
      % dmesg | tail -1
      xt_cluster: this node mask cannot be higher than the total number of nodes
      
      The problem is related to this checking:
      
      if (info->node_mask >= (1 << info->total_nodes)) {
      	printk(KERN_ERR "xt_cluster: this node mask cannot be "
      			"higher than the total number of nodes\n");
      	return false;
      }
      
      (1 << 32) is 1. Thus, the checking fails.
      
      BTW, I said this before but I insist: I have only tested the cluster
      match with 2 nodes getting ~45% extra performance in an active-active setup.
      The maximum limit of 32 nodes is still completely arbitrary. I'd really
      appreciate if people that have more nodes in their setups let me know.
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      280f37af
    • P
      netfilter: add missing linux/types.h include to xt_LED.h · a7ca7fcc
      Patrick McHardy 提交于
      Pointed out by Dave Miller:
      
        CHECK   include/linux/netfilter (57 files)
      /home/davem/src/GIT/net-2.6/usr/include/linux/netfilter/xt_LED.h:6: found __[us]{8,16,32,64} type without #include <linux/types.h>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      a7ca7fcc
    • O
      usbnet: CDC EEM support (v5) · 9f722c09
      Omar Laazimani 提交于
      This introduces a CDC Ethernet Emulation Model (EEM) host side
      driver to support USB EEM devices.
      
      EEM is different from the Ethernet Control Model (ECM) currently
      supported by the "CDC Ethernet" driver.  One key difference is
      that it doesn't require of USB interface alternate settings to
      manage interface state; some maldesigned hardware can't handle
      that part of USB.  It also avoids a separate USB interface for
      control and status updates.
      
      [ dbrownell@users.sourceforge.net: fix skb leaks, add rx packet
      checks, improve fault handling, EEM conformance updates, cleanup ]
      Signed-off-by: NOmar Laazimani <omar.oberthur@gmail.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9f722c09
  12. 03 5月, 2009 5 次提交
  13. 02 5月, 2009 2 次提交
  14. 01 5月, 2009 1 次提交
  15. 30 4月, 2009 1 次提交
  16. 29 4月, 2009 4 次提交
    • S
      netfilter: revised locking for x_tables · 942e4a2b
      Stephen Hemminger 提交于
      The x_tables are organized with a table structure and a per-cpu copies
      of the counters and rules. On older kernels there was a reader/writer 
      lock per table which was a performance bottleneck. In 2.6.30-rc, this
      was converted to use RCU and the counters/rules which solved the performance
      problems for do_table but made replacing rules much slower because of
      the necessary RCU grace period.
      
      This version uses a per-cpu set of spinlocks and counters to allow to
      table processing to proceed without the cache thrashing of a global
      reader lock and keeps the same performance for table updates.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      942e4a2b
    • R
      regulator: fix header file missing kernel-doc · 9f653251
      Randy Dunlap 提交于
      Add regulator header file missing kernel-doc:
      
      Warning(include/linux/regulator/driver.h:117): No description found for parameter 'set_mode'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      cc:	Liam Girdwood <lrg@slimlogic.co.uk>
      cc:	Mark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      9f653251
    • H
      Input: add detailed multi-touch finger data report protocol · 5e5ee686
      Henrik Rydberg 提交于
      In order to utilize the full power of the new multi-touch devices, a
      way to report detailed finger data to user space is needed. This patch
      adds a multi-touch (MT) protocol which allows drivers to report details
      for an arbitrary number of fingers.
      
      The driver sends a SYN_MT_REPORT event via the input_mt_sync() function
      when a complete finger has been reported.
      
      In order to stay compatible with existing applications, the data
      reported in a finger packet must not be recognized as single-touch
      events. In addition, all finger data must bypass input filtering,
      since subsequent events of the same type refer to different fingers.
      
      A set of ABS_MT events with the desired properties are defined. The
      events are divided into categories, to allow for partial implementation.
      The minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
      ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked.
      If the device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide
      the size of the approaching finger. Anisotropy and direction may be
      specified with ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and
      ABS_MT_ORIENTATION. Devices with more granular information may specify
      general shapes as blobs, i.e., as a sequence of rectangular shapes
      grouped together by a ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE
      may be used to specify whether the touching tool is a finger or a pen.
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      5e5ee686
    • H
      Input: bcm5974 - add quad-finger tapping · 6916d97f
      Henrik Rydberg 提交于
      The integrated button on the new unibody Macbooks presents a need to
      report explicit four-finger actions. Evidently, the finger pressing
      the button is also touching the trackpad, so in order to fully support
      three-finger actions, the driver must be able to report four-finger
      actions. This patch adds a new button, BTN_TOOL_QUADTAP, which
      achieves this.
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      6916d97f
  17. 28 4月, 2009 2 次提交
    • E
      net: Avoid extra wakeups of threads blocked in wait_for_packet() · bf368e4e
      Eric Dumazet 提交于
      In 2.6.25 we added UDP mem accounting.
      
      This unfortunatly added a penalty when a frame is transmitted, since
      we have at TX completion time to call sock_wfree() to perform necessary
      memory accounting. This calls sock_def_write_space() and utimately
      scheduler if any thread is waiting on the socket.
      Thread(s) waiting for an incoming frame was scheduled, then had to sleep
      again as event was meaningless.
      
      (All threads waiting on a socket are using same sk_sleep anchor)
      
      This adds lot of extra wakeups and increases latencies, as noted
      by Christoph Lameter, and slows down softirq handler.
      
      Reference : http://marc.info/?l=linux-netdev&m=124060437012283&w=2 
      
      Fortunatly, Davide Libenzi recently added concept of keyed wakeups
      into kernel, and particularly for sockets (see commit
      37e5540b 
      epoll keyed wakeups: make sockets use keyed wakeups)
      
      Davide goal was to optimize epoll, but this new wakeup infrastructure
      can help non epoll users as well, if they care to setup an appropriate
      handler.
      
      This patch introduces new DEFINE_WAIT_FUNC() helper and uses it
      in wait_for_packet(), so that only relevant event can wakeup a thread
      blocked in this function.
      
      Trace of function calls from bnx2 TX completion bnx2_poll_work() is :
      __kfree_skb()
       skb_release_head_state()
        sock_wfree()
         sock_def_write_space()
          __wake_up_sync_key()
           __wake_up_common()
            receiver_wake_function() : Stops here since thread is waiting for an INPUT
      Reported-by: NChristoph Lameter <cl@linux.com>
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf368e4e
    • T
      Remove unused support code for refok sections. · 27b18332
      Tim Abbott 提交于
      The old refok sections
      
        .text.init.refok
        .data.init.refok
        .exit.text.refok
      
      have been deprecated since commit
      312b1485.  After the other patches in
      this patch series nothing is put in these sections, so clean things up
      by eliminating all the remaining references to them.
      Signed-off-by: NTim Abbott <tabbott@mit.edu>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      27b18332
  18. 27 4月, 2009 1 次提交