Re: [PATCH] Percpu tag allocator

From: Tejun Heo
Date: Thu Jun 13 2013 - 15:22:08 EST


Hello,

On Thu, Jun 13, 2013 at 12:13:24PM -0700, Andrew Morton wrote:
> As I understand it, if a task is stuck in this loop at freeze time, the
> whole freeze attempt will fail. But it's been a long time since I
> thought about or worked on this stuff.

It depends on who's calling the allocator but if the device driver or
its midlayer is doing things properly, the ideal way would be the task
being marked unfreezable (I think freezable kthreads harms more than
help in general) and the driver suspend callback draining commands
while not issuing new ones. What the tag allocator does doesn't
really matter as all resources necessary for command execution should
eventually be freed before entering suspend anyway.

If that's not the case, the freezing should still be controlled by the
caller and again the allocator should be able to return -EBUSY/INTR to
indicate and then the caller, after releasing all other resources,
shouldf to try_to_freeze(). There simply is no reliable way to tell
from as deep as tag allocator whether it'd be safe to freeze or not.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/