• Steven Noonan's avatar
    xen-blkfront: make blkif_io_lock spinlock per-device · 3467811e
    Steven Noonan authored
    This patch moves the global blkif_io_lock to the per-device structure. The
    spinlock seems to exists for two reasons: to disable IRQs when in the interrupt
    handlers for blkfront, and to protect the blkfront VBDs when a detachment is
    requested.
    
    Having a global blkif_io_lock doesn't make sense given the use case, and it
    drastically hinders performance due to contention. All VBDs with pending IOs
    have to take the lock in order to get work done, which serializes everything
    pretty badly.
    Signed-off-by: default avatarSteven Noonan <snoonan@amazon.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    3467811e
xen-blkfront.c 37.3 KB