Re: [PATCH 7/7] FS-Cache: CacheFiles: A cache that backs onto a mounted filesystem

Andrew Morton
2006-04-21T00:58:57Z

David Howells <dhowells@redhat.com> wrote:
>
> + /* let keventd have some air occasionally */
> + max--;
> + if (max < 0 || need_resched()) {
> + if (!list_empty(&object->read_list))
> + schedule_work(&object->read_work);
> + _leave(" [maxed out]");
> + return;
> + }

That's perhaps not a terribly effective way of multiplexing keventd cycles.
If someone has done a schedule_work(), that will stick an entry onto
keventd's worklist, but it won't necessarily set need_resched().

We'd need to extend the workqueue API to be able to determine whether
there's other work pending.