Re: [PATCH 1/2] dm-multipath: push back requests instead of queueing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/21/14 00:49, Hannes Reinecke wrote:
> On 01/20/2014 12:57 PM, Junichi Nomura wrote:
>> On 01/17/14 19:42, Hannes Reinecke wrote:
>>> @@ -1256,7 +1188,8 @@ static void pg_init_done(void *data, int errors)
>>>  		m->queue_io = 0;
>>>  
>>>  	m->pg_init_delay_retry = delay_retry;
>>> -	queue_work(kmultipathd, &m->process_queued_ios);
>>> +	if (!m->queue_io)
>>> +		dm_table_run_queue(m->ti->table);
>>>  
>>>  	/*
>>>  	 * Wake up any thread waiting to suspend.
>>
>> Does pg_init retry still work with this change?
>>
>> I suspect it doesn't. When a retry is requested in pg_init_done(),
>> m->queue_io is still 0 and somebody has to kick pg_init.
>>
>> Instead of replacing "process_queued_ios" work completely,
>> how about keeping it around and just replacing dispatch_queued_ios() by
>> dm_table_run_queue()?
>>
> I'd rather prefer to schedule the activate_path() workqueue item
> directly; no need to involve yet another workqueue here.

I would prefer it, too.
I thought it would make review easier if you could split this patch in 2;
one for removing the internal queue, the other for optimizing
process_queued_ios work.

> And we already know which path to activate.
>
> But yeah, it looks as if we need to reschedule activate_path() here.

-- 
Jun'ichi Nomura, NEC Corporation

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux