Re: [PATCH 14/17] scsi_dh_alua: Use workqueue for RTPG

Hannes Reinecke
2015-05-13T09:10:45Z

On 05/12/2015 10:16 AM, Christoph Hellwig wrote:
> So how about the following idea for GTPG and STPG handling:
>
> - we keep a single thread workqueue, but per target group instead
> of global to avoid concurrency issues hitting us too badly, after
> all workqueues are cheap these days.

Okay.

> - GTPG keeps the per-group work_item, but instead of the separate
> lsit for STPG we just add the work item to the alua_queue_data
> structure, which at the point might also get a new name relecting
> the use a bit better. STPG remains synchronous.
>
Well, I don't think that'll work.
qdata is per sdev, and STPG is per port group.

While it's true that we need to run STPG once a qdata item
has been created, it's not necessarily true that we need to
run STPG for _every_ qdata item; if we have more than one
path per group we need to run STPG only for one of them.
(Which is why there is a qdata structure in the first place.)

What I can do, though, is to split off stpg and rtpg in two
different routines, each with its own workqueue item.
That way the actual implementation becomes easier to follow.

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html