Tejun Heo 8b8edefa2f fscache: convert object to use workqueue instead of slow-work
Make fscache object state transition callbacks use workqueue instead
of slow-work.  New dedicated unbound CPU workqueue fscache_object_wq
is created.  get/put callbacks are renamed and modified to take
@object and called directly from the enqueue wrapper and the work
function.  While at it, make all open coded instances of get/put to
use fscache_get/put_object().

* Unbound workqueue is used.

* work_busy() output is printed instead of slow-work flags in object
  debugging outputs.  They mean basically the same thing bit-for-bit.

* sysctl fscache.object_max_active added to control concurrency.  The
  default value is nr_cpus clamped between 4 and
  WQ_UNBOUND_MAX_ACTIVE.

* slow_work_sleep_till_thread_needed() is replaced with fscache
  private implementation fscache_object_sleep_till_congested() which
  waits on fscache_object_wq congestion.

* debugfs support is dropped for now.  Tracing API based debug
  facility is planned to be added.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: David Howells <dhowells@redhat.com>
2010-07-22 22:58:34 +02:00
..
2010-04-05 10:37:36 -05:00
2010-03-29 09:52:11 -07:00
2009-08-19 10:40:13 -07:00
2009-06-06 10:28:14 -06:00
2009-05-19 10:23:23 +01:00
2010-03-29 14:28:52 +01:00
2007-07-31 15:39:38 -07:00
2010-05-27 22:05:02 -04:00
2010-05-10 11:56:30 +02:00
2008-09-02 19:21:37 -07:00
2008-07-26 12:00:05 -07:00
2009-01-29 16:34:30 +02:00
2010-05-27 22:15:33 -04:00
2008-11-12 17:17:17 -08:00