Btrfs: Worker thread optimizations
authorChris Mason <chris.mason@oracle.com>
Thu, 12 Jun 2008 00:21:24 +0000 (20:21 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:03 +0000 (11:04 -0400)
commit35d8ba66294ff2a53c17337a1aa1ff6739492f41
tree40297c7917bb0425e76030e54418a934b1225299
parentd05e5a4dad985acc938e62d9752c813647dedd9d
Btrfs: Worker thread optimizations

This changes the worker thread pool to maintain a list of idle threads,
avoiding a complex search for a good thread to wake up.

Threads have two states:

idle - we try to reuse the last thread used in hopes of improving the batching
ratios

busy - each time a new work item is added to a busy task, the task is
rotated to the end of the line.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/async-thread.c
fs/btrfs/async-thread.h