1. 28 9月, 2012 1 次提交
  2. 06 9月, 2012 1 次提交
  3. 01 8月, 2012 1 次提交
    • M
      netvm: propagate page->pfmemalloc from skb_alloc_page to skb · 0614002b
      Mel Gorman 提交于
      The skb->pfmemalloc flag gets set to true iff during the slab allocation
      of data in __alloc_skb that the the PFMEMALLOC reserves were used.  If
      page splitting is used, it is possible that pages will be allocated from
      the PFMEMALLOC reserve without propagating this information to the skb.
      This patch propagates page->pfmemalloc from pages allocated for fragments
      to the skb.
      
      It works by reintroducing and expanding the skb_alloc_page() API to take
      an skb.  If the page was allocated from pfmemalloc reserves, it is
      automatically copied.  If the driver allocates the page before the skb, it
      should call skb_propagate_pfmemalloc() after the skb is allocated to
      ensure the flag is copied properly.
      
      Failure to do so is not critical.  The resulting driver may perform slower
      if it is used for swap-over-NBD or swap-over-NFS but it should not result
      in failure.
      
      [davem@davemloft.net: API rename and consistency]
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Eric B Munson <emunson@mgebm.net>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Christoph Lameter <cl@linux.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0614002b
  4. 20 7月, 2012 1 次提交
  5. 11 7月, 2012 1 次提交
  6. 05 7月, 2012 4 次提交
  7. 07 6月, 2012 1 次提交
    • J
      ethernet: Remove casts to same type · 64699336
      Joe Perches 提交于
      Adding casts of objects to the same type is unnecessary
      and confusing for a human reader.
      
      For example, this cast:
      
              int y;
              int *p = (int *)&y;
      
      I used the coccinelle script below to find and remove these
      unnecessary casts.  I manually removed the conversions this
      script produces of casts with __force, __iomem and __user.
      
      @@
      type T;
      T *p;
      @@
      
      -       (T *)p
      +       p
      
      A function in atl1e_main.c was passed a const pointer
      when it actually modified elements of the structure.
      
      Change the argument to a non-const pointer.
      
      A function in stmmac needed a __force to avoid a sparse
      warning.  Added it.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64699336
  8. 19 5月, 2012 3 次提交
  9. 01 5月, 2012 1 次提交
    • R
      cxgb3: Don't call cxgb_vlan_mode until q locks are initialized · 60158e64
      Roland Dreier 提交于
      The driver calls cxgb_vlan_mode() from init_one().  This calls into
      synchronize_rx(), which locks all the q locks, but the q locks are not
      initialized until cxgb_up() -> setup_sge_qsets().  So move the call to
      cxgb_vlan_mode() into cxgb_up(), after the call to setup_sge_qsets().
      We also move the body of these functions up higher to avoid having to
      a forward declaration.
      
      This was found because of the lockdep warning:
      
          INFO: trying to register non-static key.
          the code is fine but needs lockdep annotation.
          turning off the locking correctness validator.
          Pid: 323, comm: work_for_cpu Not tainted 3.4.0-rc5 #28
          Call Trace:
           [<ffffffff8106e767>] register_lock_class+0x108/0x2d0
           [<ffffffff8106ff42>] __lock_acquire+0xd3/0xd06
           [<ffffffff81070fd0>] lock_acquire+0xbf/0xfe
           [<ffffffff813862a6>] _raw_spin_lock_irq+0x36/0x45
           [<ffffffffa01e71aa>] cxgb_vlan_mode+0x96/0xcb [cxgb3]
           [<ffffffffa01f90eb>] init_one+0x8c4/0x980 [cxgb3]
           [<ffffffff811fcbf0>] local_pci_probe+0x3f/0x70
           [<ffffffff81042206>] do_work_for_cpu+0x10/0x22
           [<ffffffff810482de>] kthread+0xa1/0xa9
           [<ffffffff8138e234>] kernel_thread_helper+0x4/0x10
      
      Contrary to what lockdep says, the code is not fine: we are locking an
      uninitialized spinlock.
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      60158e64
  10. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  11. 07 3月, 2012 2 次提交
  12. 24 2月, 2012 1 次提交
  13. 16 2月, 2012 1 次提交
  14. 01 2月, 2012 1 次提交
  15. 06 1月, 2012 1 次提交
  16. 04 1月, 2012 1 次提交
  17. 20 12月, 2011 1 次提交
  18. 17 12月, 2011 2 次提交
  19. 06 12月, 2011 4 次提交
  20. 24 11月, 2011 1 次提交
  21. 23 11月, 2011 2 次提交
  22. 17 11月, 2011 1 次提交
  23. 14 11月, 2011 1 次提交
  24. 01 11月, 2011 2 次提交
  25. 21 10月, 2011 2 次提交
  26. 19 10月, 2011 1 次提交
  27. 08 10月, 2011 1 次提交