• Santosh Shilimkar's avatar
    RDS: defer the over_batch work to send worker · 4bebdd7a
    Santosh Shilimkar authored
    Current process gives up if its send work over the batch limit.
    The work queue will get  kicked to finish off any other requests.
    This fixes remainder condition from commit 443be0e5 ("RDS: make
    sure not to loop forever inside rds_send_xmit").
    
    The restart condition is only for the case where we reached to
    over_batch code for some other reason so just retrying again
    before giving up.
    
    While at it, make sure we use already available 'send_batch_count'
    parameter instead of magic value. The batch count threshold value
    of 1024 came via commit 443be0e5 ("RDS: make sure not to loop
    forever inside rds_send_xmit"). The idea is to process as big a
    batch as we can but at the same time we don't hold other waiting
    processes for send. Hence back-off after the send_batch_count
    limit (1024) to avoid soft-lock ups.
    Signed-off-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
    Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
    4bebdd7a
send.c 31.5 KB