• Scott Feldman's avatar
    rocker: revert back to support for nowait processes · 179f9a25
    Scott Feldman authored
    One of the items removed from the rocker driver in the Spring Cleanup patch
    series was the ability to mark processing in the driver as "no wait" for
    those contexts where we cannot sleep.  Turns out, we have "no wait"
    contexts where we want to program the device.  So re-add the
    ROCKER_OP_FLAG_NOWAIT flag to mark such processes, and propagate flags to
    mem allocator and to the device cmd executor.  With NOWAIT, mem allocs are
    GFP_ATOMIC and device cmds are queued to the device, but the driver will
    not wait (sleep) for the response back from the device.
    
    My bad for removing NOWAIT support in the first place; I thought we could
    swing non-sleep contexts to process context using a work queue, for
    example, but there is push-back to keep processing in original context.
    Signed-off-by: default avatarScott Feldman <sfeldma@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    179f9a25
rocker.c 142 KB