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
next reply other threads:[~2010-09-09 18:51 UTC|newest]
Thread overview: 7+ 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-14 18:35 ` 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).