On Tue, Aug 7, 2012 at 1:45 PM, Jeff Darcy <[email protected]> wrote:
> On Tue, 7 Aug 2012 20:13:35 +0200 > [email protected] (Emmanuel Dreyfus) wrote: > > > Anand Avati <[email protected]> wrote: > > What was behind the decision to use swapcontext, btw? Why not just > > have a thread for each task? > > I should probably let the authors speak for themselves, but I suspect > it's because operations like self-heal and rebalance can be expected to > generate a *lot* of sync calls. Threads do still consume non-trivial > resources, and switches between them still involve a trip through the > scheduler, even if they share an address space etc. I just ran a quick > experiment, and ping-ponging between tasks via swapcontext was ~9x as > fast as via pthreads. I didn't measure the effect on memory > consumption, but it's likely to be at least as large as the effect on > execution time. > > That is largely the right reason. Pthreads are much more expensive than context based "threads". Avati
_______________________________________________ Gluster-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/gluster-devel
