[rds-devel] [git pull] more rmmod fixes

Zach Brown zach.brown at oracle.com
Tue Jul 6 15:21:39 PDT 2010


Heya Andy,

Here's another round of rmmod fixes.

The kmem_cache_create() error testing is nice and easy, as is the introduction of the FMR flushing work queue.

The latter is needed to maintain performance while returning to a single krdsd thread.  The multi-threaded krdsd was causing crashes as the current code wasn't built to have, for example, multiple cpus  concurrently shutting down a connection.  This might help the crashes that testers are seeing in the presence of connections being torn down and re-established without anything to do with rmmod.

The receive processing fix solves a nasty race that required connection build up, rmmod, and an incoming connection to all hit at the same time. 

With these fixes I am no longer seeing crashes while continuously removing and inserting the RDS modules in the presence of incoming connection requests.

- z


The following changes since commit ba467ae9235a06900a8090dc0de4f51a0652611d:
  Zach Brown (1):
        RDS/IB: destroy connections on rmmod

are available in the git repository at:

  git://oss.oracle.com/git/zab/ofed-1.5-linux-2.6.git rmmod-fixes

Zach Brown (4):
      RDS/IB: create a work queue for FMR flushing
      RDS: return to a single-threaded krdsd
      RDS: catch kmem_cache_create() errors
      RDS/IB: always process recv completions

 net/rds/ib.c      |   14 ++++++++++++--
 net/rds/ib.h      |    4 +++-
 net/rds/ib_rdma.c |   25 +++++++++++++++++++++++--
 net/rds/ib_recv.c |   34 +++++++++++++++++++++-------------
 net/rds/threads.c |    2 +-
 5 files changed, 60 insertions(+), 19 deletions(-)




More information about the rds-devel mailing list