Shaohua Li d835502f3d percpu_ida: fix a live lock
steal_tags only happens when free tags is more than half of the total
tags.  This is too strict and can cause live lock. I found that if one
cpu has free tags, but other cpu can't steal (thread is bound to
specific cpus), threads which want to allocate tags are always
sleeping. I found this when I run next patch, but this could happen
without it I think.

I did performance test too with null_blk. Two cases (each cpu has enough
percpu tags, or total tags are limited), no performance changes were
observed.

Signed-off-by: Shaohua Li <shli@fusionio.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2014-01-30 12:57:25 -07:00
..
2013-09-10 13:03:41 -07:00
2013-03-13 15:21:48 -07:00
2011-03-11 14:25:50 +00:00
2008-06-06 11:29:10 -07:00
2013-07-09 10:33:30 -07:00
2011-10-29 21:20:22 +02:00
2007-07-17 10:23:04 -07:00
2006-06-25 10:01:20 -07:00
2006-06-25 10:01:20 -07:00
2007-05-10 18:24:13 +02:00
2011-03-31 11:26:23 -03:00
2013-02-27 19:10:09 -08:00
2014-01-29 16:22:40 -08:00
2012-10-06 03:04:57 +09:00
2012-10-09 16:22:40 +09:00
2013-06-18 13:48:45 +02:00
2012-07-30 17:25:16 -07:00
2012-01-31 23:19:47 +02:00
2014-01-30 12:57:25 -07:00
2013-04-29 18:28:42 -07:00