Re: [PATCH] add execute_in_process_context() API

From: Andrew Morton
Date: Wed Feb 08 2006 - 03:17:09 EST


Andi Kleen <ak@xxxxxxx> wrote:
>
> James Bottomley <James.Bottomley@xxxxxxxxxxxx> writes:
>
> In general this seems like a lot of code for a simple problem.
> It might be simpler to just put the work structure into the parent
> object and do the workqueue unconditionally
>

That apparently would have really bad performance problems. If we're
!in_interrupt() we want to do the work synchronously.

But yes, if we can embed the work_struct inside the structure which the
callback will operate on

> > + if (unlikely(!wqw)) {
> > + printk(KERN_ERR "Failed to allocate memory\n");
> > + WARN_ON(1);
>
> WARN_ON for GFP_ATOMIC failure is bad. It is not really a bug.

it will solve this problem. (And I think is is a problem: if the
allocation fails, we leak things?)

-
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/