[rds-devel] Please pull for OFED 1.5

Andy Grover andy.grover at oracle.com
Wed Oct 28 15:38:38 PDT 2009


Or Gerlitz wrote:
> Andy Grover wrote:
>>       RDS/IB+IW: Move recv processing to a tasklet
> Hi Andy, 
>> Move receive processing from event handler to a tasklet.
>> This should help prevent hangcheck timer from going off
>> when RDS is under heavy load.
> 
> Can you explain what is the problem addressed by this approach/patch?

Sure. Basically RDS was doing all CQ handling (send & recv) in the event
handlers -- irqs disabled. Under load this could prevent other
interrupts from ever being handled, such as the hangcheck timer.

We changed the recv cq code to just schedule the tasklet in the event
handler, and then do cq processing in the tasklet. The tasklet should
run as soon as the irq handler finishes, but runs with interrupts
enabled. We don't re-enable events on the cq until the tasklet has no
more work.

This should hurt our latency a little, but doing as much work at
interrupt level just is not good to do.

The next change will be to do the same for send cq processing. Send and
recv may even be able to share a tasklet.

Regards -- Andy



More information about the rds-devel mailing list