[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: ITS#3950

> I reworked most of the yield() calls in daemon.c, and those changes are
> in RE23. However, the BDB library itself makes yield() calls as well,
> which I ignored. It seems we should apply the patch in ITS#3950 after all.

I'd just like to be wary of possible degradation on systems that comply
with the spirit of the spec. For example, the Solaris 9 man page:

     The sched_yield() function  forces  the  running  thread  to
     relinquish the processor until the process again becomes the
     head of its process list. It takes no arguments.

Some of these systems (say, maybe, Solaris 9 :) also have a yielding
select(). In this case, I'd want to use whatever gives the best results
(behaviorally first, with performance considered). It's not clear to me
that the ITS#3950 patch does that as is.

Disclaimer: I'm not saying that select() is definitely a performance hit.
I didn't benchmark this at all.