[rds-devel] [git pull] quick fixes

Zach Brown zach.brown at oracle.com
Mon Jul 12 13:45:21 PDT 2010


> Unfortunately not, because send completion processing only sees CQEs,
> and CQEs are only generated for signaled sends.

Yeah, that patch was a stinker.

> The patch comment mentions double-unmaps -- I think they must be coming
> from ring entries *before* the last signaled send. The old way will hang
> waiting forever for the send ring to be empty. Maybe we can add a little
> bookkeeping to wait just until all signaled WRs are done?

The crash comes from shutdown setting the wr opcodes to 0xdead.  Then completion processing tries to unmap, barks about seeing 0xdead, and returns a null rm to the caller who happily dereferences it.

So yeah, maybe just ensuring that we won't have any more send completion processing is the way to go.  We could track signaled sends, or we could have send completion just bail when it sees a connection being shut down.

- z


More information about the rds-devel mailing list