1. 31 Oct, 2011 1 commit
  2. 15 Mar, 2011 1 commit
  3. 09 Mar, 2011 6 commits
  4. 25 Feb, 2011 5 commits
  5. 20 Oct, 2010 1 commit
  6. 13 Oct, 2010 1 commit
  7. 08 Oct, 2010 1 commit
    • Rémi Denis-Courmont's avatar
      Phonet: cleanup pipe enable socket option · 03789f26
      Rémi Denis-Courmont authored
      
      The current code works like this:
      
        int garbage, status;
        socklen_t len = sizeof(status);
      
        /* enable pipe */
        setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &garbage, sizeof(garbage));
        /* disable pipe */
        setsockopt(fd, SOL_PNPIPE, PNPIPE_DISABLE, &garbage, sizeof(garbage));
        /* get status */
        getsockopt(fd, SOL_PNPIPE, PNPIPE_INQ, &status, &len);
      
      ...which does not follow the usual socket option pattern. This patch
      merges all three "options" into a single gettable&settable option,
      before Linux 2.6.37 gets out:
      
        int status;
        socklen_t len = sizeof(status);
      
        /* enable pipe */
        status = 1;
        setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status));
        /* disable pipe */
        status = 0;
        setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status));
        /* get status */
        getsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, &len);
      
      This also fixes the error code from EFAULT to ENOTCONN.
      Signed-off-by: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
      Cc: Kumar Sanghvi <kumar.sanghvi@stericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      03789f26
  8. 01 Oct, 2010 1 commit
  9. 30 Sep, 2010 1 commit
  10. 28 Sep, 2010 1 commit
  11. 16 Sep, 2010 1 commit
  12. 31 Aug, 2010 2 commits
  13. 09 Jul, 2010 1 commit
  14. 29 May, 2010 1 commit
  15. 25 May, 2010 1 commit
  16. 01 May, 2010 1 commit
    • Eric Dumazet's avatar
      net: sock_def_readable() and friends RCU conversion · 43815482
      Eric Dumazet authored
      
      sk_callback_lock rwlock actually protects sk->sk_sleep pointer, so we
      need two atomic operations (and associated dirtying) per incoming
      packet.
      
      RCU conversion is pretty much needed :
      
      1) Add a new structure, called "struct socket_wq" to hold all fields
      that will need rcu_read_lock() protection (currently: a
      wait_queue_head_t and a struct fasync_struct pointer).
      
      [Future patch will add a list anchor for wakeup coalescing]
      
      2) Attach one of such structure to each "struct socket" created in
      sock_alloc_inode().
      
      3) Respect RCU grace period when freeing a "struct socket_wq"
      
      4) Change sk_sleep pointer in "struct sock" by sk_wq, pointer to "struct
      socket_wq"
      
      5) Change sk_sleep() function to use new sk->sk_wq instead of
      sk->sk_sleep
      
      6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside
      a rcu_read_lock() section.
      
      7) Change all sk_has_sleeper() callers to :
        - Use rcu_read_lock() instead of read_lock(&sk->sk_callback_lock)
        - Use wq_has_sleeper() to eventually wakeup tasks.
        - Use rcu_read_unlock() instead of read_unlock(&sk->sk_callback_lock)
      
      8) sock_wake_async() is modified to use rcu protection as well.
      
      9) Exceptions :
        macvtap, drivers/net/tun.c, af_unix use integrated "struct socket_wq"
      instead of dynamically allocated ones. They dont need rcu freeing.
      
      Some cleanups or followups are probably needed, (possible
      sk_callback_lock conversion to a spinlock for example...).
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      43815482
  17. 30 Mar, 2010 1 commit
    • Tejun Heo's avatar
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo authored
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        bloc...
      5a0e3ad6
  18. 07 Jan, 2010 3 commits
  19. 30 Nov, 2009 1 commit
  20. 11 Nov, 2009 1 commit
  21. 15 Oct, 2009 1 commit
  22. 30 Sep, 2009 1 commit
  23. 24 Jul, 2009 1 commit
  24. 09 Jun, 2009 1 commit
  25. 11 Feb, 2009 1 commit
  26. 17 Dec, 2008 1 commit
  27. 05 Oct, 2008 2 commits