• Herbert Xu's avatar
    [CRYPTO] chainiv: Avoid lock spinning where possible · e7cd2514
    Herbert Xu authored
    This patch makes chainiv avoid spinning by postponing requests on lock
    contention if the user allows the use of asynchronous algorithms.  If
    a synchronous algorithm is requested then we behave as before.
    
    This should improve IPsec performance on SMP when two CPUs attempt to
    transmit over the same SA.  Currently one of them will spin doing nothing
    waiting for the other CPU to finish its encryption.  This patch makes it
    postpone the request and get on with other work.
    
    If only one CPU is transmitting for a given SA, then we will process
    the request synchronously as before.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    e7cd2514
chainiv.c 8.05 KB