lkml.org 
[lkml]   [2014]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/2]percpu_ida: fix a live lock
On Sat, Jan 04, 2014 at 01:08:04PM -0800, Kent Overstreet wrote:
> On Tue, Dec 31, 2013 at 11:38:27AM +0800, Shaohua Li wrote:
> >
> > steal_tags only happens when free tags is more than half of the total tags.
> > This is too restrict and can cause live lock. I found one cpu has free tags,
> > but other cpu can't steal (thread is bound to specific cpus), threads which
> > wants 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) haven't performance changes.
>
> This doesn't appear to me to fix anything wrong with the current code
> (and it'll hurt performance)

I suspects this hurts performance too, but it doesn't actually in my test.

> - we explicitly don't guarantee that all
> the tags will be available for allocation at any given time, only half
> of them.

only half of the tags can be used? this is scaring. Of course we hope all tags
are available.

> Can you explain more how this is being used where you're seeing
> the issue? And I don't see the other patch in your patch series.

tasks are bound to specific cpus. And I saw one cpu has a lot of free (but less
than half of total tags), but other cpus can't allocate tags, so I saw a live
lock.

Thanks,
Shaohua


\
 
 \ /
  Last update: 2014-01-05 14:41    [W:0.460 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site