Re: [PATCH 3/4] staging: lustre: lnet: convert selftest to use workqueues

NeilBrown
2018-01-09T01:29:40Z

[-- Attachment #1: Type: text/plain, Size: 1459 bytes --]

On Mon, Jan 08 2018, Greg Kroah-Hartman wrote:

> On Mon, Dec 18, 2017 at 12:25:19PM +1100, NeilBrown wrote:
>> Instead of the cfs workitem library, use workqueues.
>>
>> As lnet wants to provide a cpu mask of allowed cpus, it
>> needs to be a WQ_UNBOUND work queue so that tasks can
>> run on cpus other than where they were submitted.
>
> This patch doesn't apply to my tree :(

Probably because some of the kmalloc changes didn't land, and that caused
a context change.

>
>> apply_workqueue_atts needs to be exported for lustre to use it.
>
> That feels really odd, why is lustre so "special" that the normal
> workqueue api doesn't work properly for it?

You could ask: what is so special about apply_workqueue_atts() that it
isn't exported? It seems as much a part of the workqueue api as
anything else. It is even documented in
Documentation/core-api/workqueue.rst

lustre is using it to identify a subset of CPUs for the workqueue to run
on.
lustre allows workers to be restricted to select cpus to avoid
interfering with other tasks. workqueue has an interface to support
this, it just forgot to export it.

I've added a note to the patch with some of this explanation,
and will re-post once the kmalloc changes land.

Thanks,
NeilBrown

>
> I've dropped this, and the next patch, from my queue now. Please fix up
> and resend and justify why lustre is so odd :)
>
> thanks,
>
> greg k-h

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]