Re: [PATCH v4 03/26] iommu: Add a page fault handler

Xu Zaibo
2020-02-26T03:05:35Z

Hi,
On 2020/2/25 17:25, Jean-Philippe Brucker wrote:
> Hi Zaibo,
>
> On Tue, Feb 25, 2020 at 11:30:05AM +0800, Xu Zaibo wrote:
>>> +struct iopf_queue *
>>> +iopf_queue_alloc(const char *name, iopf_queue_flush_t flush, void *cookie)
>>> +{
>>> + struct iopf_queue *queue;
>>> +
>>> + queue = kzalloc(sizeof(*queue), GFP_KERNEL);
>>> + if (!queue)
>>> + return NULL;
>>> +
>>> + /*
>>> + * The WQ is unordered because the low-level handler enqueues faults by
>>> + * group. PRI requests within a group have to be ordered, but once
>>> + * that's dealt with, the high-level function can handle groups out of
>>> + * order.
>>> + */
>>> + queue->wq = alloc_workqueue("iopf_queue/%s", WQ_UNBOUND, 0, name);
>> Should this workqueue use 'WQ_HIGHPRI | WQ_UNBOUND' or some flags like this
>> to decrease the unexpected
>> latency of I/O PageFault here? Or maybe, workqueue will show an uncontrolled
>> latency, even in a busy system.
> I'll investigate the effect of these flags. So far I've only run on
> completely idle systems but it would be interesting to add some
> workqueue-heavy load in my tests.
>
I'm not sure, just my concern. Hopefully, Tejun Heo can give us some
hints. :)

+cc Tejun Heo <tj@kernel.org>

Cheers,
Zaibo

.
> .