Re: [PATCH] Percpu tag allocator

From: Kent Overstreet
Date: Thu Jun 13 2013 - 17:14:18 EST


On Thu, Jun 13, 2013 at 12:21:52PM -0700, Tejun Heo wrote:
> 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.

Yeah, I think you're definitely right. (I only started reading up on the
freezer stuff yesterday, though).

Do you know offhand what existing (i.e. slab) allocators do? Whatever
they do should make sense for us.
--
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/