[Devel] [PATCH rh7 3/3] ve: Use wait_on_bit() to wait attaching is completed

Kirill Tkhai ktkhai at odin.com
Wed Oct 28 07:38:16 PDT 2015



On 28.10.2015 17:37, Kirill Tkhai wrote:
> On 28.10.2015 15:58, Vladimir Davydov wrote:
>> On Wed, Oct 28, 2015 at 12:54:31PM +0300, Kirill Tkhai wrote:
>>> On 27.10.2015 19:22, Vladimir Davydov wrote:
>>>> On Fri, Oct 16, 2015 at 07:25:15PM +0300, Kirill Tkhai wrote:
>>>>> wait_on_bit() prevents excess schedule_timeout() looping
>>>>> (i.e. cpu time waisting and possible livelocks)
>>>>
>>>> I think a completion would suit the purpose much better.
>>>>
>>>
>>> There is already bits in task_ve_nr_works while completion
>>> requires more of memory.
>>
>> One more reason to use kmalloc.
> 
> See the answer to [1/3].
>  
>>> The readability is near the similar.
>>
>> You mean this
>>
>> +       atomic_set_mask(VE_WAIT_BIAS, nr);
>> +       smp_mb__after_atomic();
>> +
>> +       if (atomic_read(nr) & ~VE_WAIT_BIAS)
>> +               wait_on_bit(nr, VE_WAIT_BIT, ve_wait_action,TASK_UNINTERRUPTIBLE);
>> +       else
>> +               atomic_clear_mask(VE_WAIT_BIAS, nr);
>>
>> is as readable as this
>>
>> 	wait_on_completion(&attach_work->complete);
>>
>> ?
>>
>> I beg to disagree.
> 
> I don't think it's complicated. It just reuses task_ve_nr_works and aims to deal
> as much memory as possible and good commented.

As few, of course.
  
>>>
>>> I don't think it's better.



More information about the Devel mailing list