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: 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.