All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Grover <andy.grover-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: RDS Devel <rds-devel-N0ozoZBvEnrZJqsBc5GL+g@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: net-next pull request: RDS
Date: Thu, 09 Sep 2010 11:51:08 -0700	[thread overview]
Message-ID: <4C892C9C.4060304@oracle.com> (raw)

Hi Dave,

Sorry for the "release late, release seldom". We've made a lot of 
changes since spring but it never really stabilized..

Summary:
   * Add atomic operations (cswp and fadd) and masked versions
   * New RDS_RDMA_SILENT flag will try to execute RDMA op without
     causing an interrupt on the target machine
   * Massive performance improvements on big boxes (Chris Mason)
   * Many rmmod refcounting fixes (Zach Brown)
   * Do much more from tasklets instead of the worker thread
   * Add rds.h to kernel exported headers list
   * Other cleanups

Thanks -- Regards -- Andy

------
The following changes since commit db40980fcdb560d7992b0511df16cdd3f7e381f3:
   Eric Dumazet (1):
         net: poll() optimizations

are available in the git repository at:

   git://oss.oracle.com/git/agrover/linux-2.6.git for-davem

Andy Grover (66):
       RDS: Fix BUG_ONs to not fire when in a tasklet
       RDS: Rewrite rds_send_drop_to() for clarity
       RDS: Fix locking in send on m_rs_lock
       RDS: move rds_shutdown_worker impl. to rds_conn_shutdown
       RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons
       RDS: break out rdma and data ops into nested structs in rds_message
       RDS: cleanup/fix rds_rdma_unuse
       RDS: Explicitly allocate rm in sendmsg()
       RDS: fold rdma.h into rds.h
       RDS: make m_rdma_op a member of rds_message
       RDS: make sure all sgs alloced are initialized
       RDS: Clear up some confusing code in send_remove_from_sock
       RDS: Implement atomic operations
       RDS: Base init_depth and responder_resources on hw values
       RDS: Do not mask address when pinning pages
       RDS: Whitespace
       RDS: inc_purge() transport function unused - remove it
       RDS/IB: eliminate duplicate code
       RDS/IB: Disallow connections less than RDS 3.1
       RDS/IB: Remove dead code
       RDS/IB: Remove ib_[header/data]_sge() functions
       RDS: rewrite rds_ib_xmit
       RDS: Remove unsignaled_bytes sysctl
       RDS/IB: Make all flow control code conditional on i_flowctl
       RDS: Move loop-only function to loop.c
       RDS: Implement silent atomics
       RDS: Inline rdma_prepare into cmsg_rdma_args
       RDS: purge atomic resources too in rds_message_purge()
       RDS: Remove struct rds_rdma_op
       RDS: Rename data op members prefix from m_ to op_
       RDS: Rewrite rds_send_xmit
       RDS: Do not set op_active in r_m_copy_from_user().
       RDS: Add a warning if trying to allocate 0 sgs
       RDS: queue failure notifications for dropped atomic ops
       RDS: Move some variables around for consistency
       RDS: Add flag for silent ops. Do atomic op before RDMA
       RDS: Make sure cmsgs aren't used in improper ways
       RDS: Perform unmapping ops in stages
       RDS/IB: Do not wait for send ring to be empty on conn shutdown
       RDS: Stop supporting old cong map sending method
       RDS: Refill recv ring directly from tasklet
       RDS: Change send lock from a mutex to a spinlock
       RDS: rds_send_xmit() locking/irq fixes
       RDS: Call rds_send_xmit() directly from sendmsg()
       RDS: Bypass workqueue when queueing cong updates
       RDS: Use NOWAIT in message_map_pages()
       RDS: Fix locking in send on m_rs_lock
       RDS: rds_message_unmapped() doesn't need to check if queue active
       RDS: Move atomic stats from general to ib-specific area
       RDS: Remove send_quota from send_xmit()
       RDS: Do wait_event_interruptible instead of wait_event
       RDS: Get pong working again
       RDS: Update comments in rds_send_xmit()
       RDS/IB: Remove unused variable in ib_remove_addr()
       RDS/IB: add _to_node() macros for numa and use {k,v}malloc_node()
       RDS: Use page_remainder_alloc() for recv bufs
       RDS: Assume recv->r_frag is always NULL in refill_one()
       RDS/IB: Remove ib_recv_unmap_page()
       RDS: whitespace
       RDS: Remove unused XLIST_PTR_TAIL and xlist_protect()
       RDS/IB: Make ib_recv_refill return void
       RDS/IB: Use SLAB_HWCACHE_ALIGN flag for kmem_cache_create()
       RDS: Implement masked atomic operations
       RDS: Add rds.h to exported headers list
       RDS: rds.h: Replace u_int[size]_t with uint[size]_t
       RDS: Remove dead struct from rds.h

Chris Mason (17):
       RDS: Use a generation counter to avoid rds_send_xmit loop
       rds: switch to rwlock on bind_lock
       rds: per-rm flush_wait waitq
       rds: rcu-ize rds_ib_get_device()
       rds: Use RCU for the bind lookup searches
       rds: don't let RDS shutdown a connection while senders are present
       rds: Fix RDMA message reference counting
       RDS: use locking on the connection hash list
       rds: use RCU to protect the connection hash
       rds: Fix reference counting on the for xmit_atomic and xmit_rdma
       RDS/IB: Add caching of frags and incs
       RDS: use friendly gfp masks for prefill
       rds: recycle FMRs through lockless lists
       rds: more FMRs are faster
       RDS: use delayed work for the FMR flushes
       RDS: properly use sg_init_table
       RDS: flush fmrs before allocating new ones

Tina Yang (1):
       RDS: Fix corrupted rds_mrs

Zach Brown (23):
       RDS/IB: rds_ib_cm_handle_connect() forgot to unlock c_cm_lock
       RDS/IB: get the xmit max_sge from the RDS IB device on the connection
       RDS/IB: add refcount tracking to struct rds_ib_device
       RDS: introduce rds_conn_connect_if_down()
       RDS/IB: disconnect when IB devices are removed
       rds: remove unused rds_send_acked_before()
       rds: block ints when acquiring c_lock in rds_conn_message_info()
       rds: fix rds_send_xmit() serialization
       RDS/IB: wait for IB dev freeing work to finish during rmmod
       RDS/IB: destroy connections on rmmod
       RDS/IB: create a work queue for FMR flushing
       RDS: return to a single-threaded krdsd
       RDS/IB: always process recv completions
       RDS: remove __init and __exit annotation
       RDS/IB: track signaled sends
       RDS/IB: print IB event strings as well as their number
       RDS/IB: protect the list of IB devices
       RDS: lock rds_conn_count decrement in rds_conn_destroy()
       RDS: remove old rs_transport comment
       RDS: have sockets get transport module references
       RDS: don't call rds_conn_shutdown() from rds_conn_destroy()
       RDS: cancel connection work structs as we shut down
       RDS/IB: print string constants in more places

  include/linux/Kbuild     |    1 +
  include/linux/rds.h      |  106 +++++---
  net/rds/af_rds.c         |   26 ++-
  net/rds/bind.c           |   82 +++---
  net/rds/cong.c           |    8 +-
  net/rds/connection.c     |  157 ++++++++---
  net/rds/ib.c             |  194 +++++++++++---
  net/rds/ib.h             |  100 ++++----
  net/rds/ib_cm.c          |  183 +++++++++----
  net/rds/ib_rdma.c        |  314 +++++++++++++++++-----
  net/rds/ib_recv.c        |  549 ++++++++++++++++++++++---------------
  net/rds/ib_send.c        |  682 
+++++++++++++++++++++++++++-------------------
  net/rds/ib_stats.c       |    2 +
  net/rds/ib_sysctl.c      |   17 +-
  net/rds/info.c           |   12 +-
  net/rds/iw.c             |    4 +-
  net/rds/iw.h             |   11 +-
  net/rds/iw_cm.c          |   14 +-
  net/rds/iw_rdma.c        |    1 -
  net/rds/iw_recv.c        |   24 +-
  net/rds/iw_send.c        |   93 ++++---
  net/rds/iw_sysctl.c      |    4 +-
  net/rds/loop.c           |   31 ++-
  net/rds/message.c        |  118 +++++----
  net/rds/page.c           |    5 +-
  net/rds/rdma.c           |  339 +++++++++++++++--------
  net/rds/rdma.h           |   85 ------
  net/rds/rdma_transport.c |   42 +++-
  net/rds/rds.h            |  187 +++++++++++---
  net/rds/recv.c           |    9 +-
  net/rds/send.c           |  544 ++++++++++++++++++++++---------------
  net/rds/stats.c          |    6 +-
  net/rds/sysctl.c         |    4 +-
  net/rds/tcp.c            |    8 +-
  net/rds/tcp.h            |    9 +-
  net/rds/tcp_connect.c    |    2 +-
  net/rds/tcp_listen.c     |    6 +-
  net/rds/tcp_recv.c       |   14 +-
  net/rds/tcp_send.c       |   66 +----
  net/rds/threads.c        |   69 +----
  net/rds/transport.c      |   19 +-
  net/rds/xlist.h          |   80 ++++++
  42 files changed, 2614 insertions(+), 1613 deletions(-)
  delete mode 100644 net/rds/rdma.h
  create mode 100644 net/rds/xlist.h
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2010-09-09 18:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-09 18:51 Andy Grover [this message]
     [not found] ` <4C892C9C.4060304-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-09-09 21:58   ` net-next pull request: RDS David Miller
2010-09-12  8:49   ` Or Gerlitz
2010-09-13 17:14     ` [rds-devel] " Chris Mason
     [not found]     ` <4C8C9422.2070306-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>
2010-09-12  8:52       ` RDS/IB: add _to_node() macros for numa and use {k,v}malloc_node() Or Gerlitz
     [not found]         ` <4C8C94B8.9030107-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>
2010-09-14 23:53           ` Andy Grover
2010-09-14 18:35       ` [rds-devel] net-next pull request: RDS Zach Brown
     [not found]         ` <20100914183514.GA3417-Mg0Rv1oTIzK+NQz5YmTpAAHTzkgPINtM@public.gmane.org>
2010-09-14 22:28           ` Andrew Grover
     [not found]             ` <AANLkTin69m0kK6bqUiwYeHRQT0Ehso16xA6RBtBFFgW3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-14 23:10               ` Roland Dreier
2010-09-15  9:22               ` Or Gerlitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C892C9C.4060304@oracle.com \
    --to=andy.grover-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rds-devel-N0ozoZBvEnrZJqsBc5GL+g@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.