datapath: Backport workqueue functions.
authorJesse Gross <jesse@nicira.com>
Tue, 31 Aug 2010 22:38:25 +0000 (15:38 -0700)
committerJesse Gross <jesse@nicira.com>
Wed, 22 Sep 2010 20:43:02 +0000 (13:43 -0700)
commit7c79397fe8ff52eb9cfe4d32a9d1f8b2f23c45c8
tree5a1243a8a5efecedde1be50b8d2e9c3ab574c433
parentb7a31ec13d0617868378d39a72beb4c4ffcb7e5c
datapath: Backport workqueue functions.

An upcoming commit will use some workqueue functions that weren't
available on earlier kernels, so this backports those functions.
The backporting uses timers instead of delayed work queues because
the earlier versions of work queues have some unsafe corner cases.
In addition, this removes some unused work queue backporting code
that is no longer used because it is potentially unsafe.

Note that this commit changes the behavior of work queues: normally
they run in process context but the backported version runs in
softirq context.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Reviewed-by: Ben Pfaff <blp@nicira.com>
datapath/datapath.c
datapath/linux-2.6/compat-2.6/include/linux/workqueue.h