• Tom Zanussi's avatar
    crypto: iaa - Add per-cpu workqueue table with rebalancing · f57bf3f7
    Tom Zanussi authored
    The iaa compression/decompression algorithms in later patches need a
    way to retrieve an appropriate IAA workqueue depending on how close
    the associated IAA device is to the current cpu.
    
    For this purpose, add a per-cpu array of workqueues such that an
    appropriate workqueue can be retrieved by simply accessing the per-cpu
    array.
    
    Whenever a new workqueue is bound to or unbound from the iaa_crypto
    driver, the available workqueues are 'rebalanced' such that work
    submitted from a particular CPU is given to the most appropriate
    workqueue available.  There currently isn't any way for the user to
    tweak the way this is done internally - if necessary, knobs can be
    added later for that purpose.  Current best practice is to configure
    and bind at least one workqueue for each IAA device, but as long as
    there is at least one workqueue configured and bound to any IAA device
    in the system, the iaa_crypto driver will work, albeit most likely not
    as efficiently.
    
    [ Based on work originally by George Powley, Jing Lin and Kyung Min
    Park ]
    Signed-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f57bf3f7
iaa_crypto.h 684 Bytes