]> git.baikalelectronics.ru Git - kernel.git/commit
rocker: revert back to support for nowait processes
authorScott Feldman <sfeldma@gmail.com>
Sat, 13 Jun 2015 04:35:46 +0000 (21:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Jun 2015 23:06:48 +0000 (16:06 -0700)
commite68569dead1e1881ba93a2603db61dfb504d50bd
tree8e0a3290015a8711cb24a421ce8004bdede218f3
parentfd6415bf29696fc58ef9aff3ae9cf13ab8f15863
rocker: revert back to support for nowait processes

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: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/rocker/rocker.c