Re: [patch] drivers: wait for threaded probes between initcall levels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sat, 28 Oct 2006, Adam J. Richter wrote:

> On Fri, 27 Oct 2006 13:42:44 -0700 (PDT), Linus Torvals wrote:
> >        static struct semaphore outstanding;
> [...]
> >        static void allow_parallel(int n)
> [...]
> >        static void wait_for_parallel(int n)
> [...]
> >        static void execute_in_parallel(int (*fn)(void *), void *arg)
> 
> 	This interface would have problems with nesting.

You miss the point.

They _wouldn't_ be nested.

The "allow_parallel()" and "wait_for_parallel()" calls would be at some 
top-level situation (ie initcalls looping).

Nobody else than the top level would _ever_ use them. Anything under that 
level would just say "I want to do this in parallel" - which is just a 
statement, and has no nesting issues in itself.

The whole notion of "I want to do this in parallel" is basically 
non-nesting. If something is parallel, it's by definition not ordered, and 
thus nesting cannot make sense. All the "ordered" stuff would be either 
done without using "execute_in_parallel()" at all, or it would be ordered 
_within_ one thread that is executed in parallel.

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux