> On Jan 14, 2017, at 4:15 PM, Sagi Grimberg <sagi@xxxxxxxxxxx> wrote: > > >>> Hey Josef, >>> >>>> Since we are in the memory reclaim path we need our recv work to be on a >>>> workqueue that has WQ_MEM_RECLAIM set so we can avoid deadlocks. Also >>>> set WQ_HIGHPRI since we are in the completion path for IO. >>> >>> Really a workqueue per device?? Did this really give performance >>> advantage? Can this really scale with number of devices? >> >> I don't see why not, especially since these things run the whole time the device is active. I have patches forthcoming to make device creation dynamic so we don't have a bunch all at once. That being said I'm not married to the idea, just seemed like a good idea at the time and not particularly harmful. Thanks, > > I just don't see how having a worqueue per device helps anything? There > are plenty of active workers per workqueue and even if its not enough > you can specify more with max_active. > > I guess what I'm trying to say is that I don't understand what this is > solving. The commit message explains why you need WQ_MEM_RECLAIM and why > you want WQ_HIGHPRI, but does not explain why workqueue per device is > helping/solving anything. There's no reason for it, that's just the way I did it. I will test both ways on Tuesday and if there's no measurable difference then I'll do a global one. Thanks, Josef-- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html