See the discussion on kerneltrap: http://kerneltrap.org/Linux/CFS_and_sched_yield
Looks like the change came in somewhere around 2.6.23 or so...? On Dec 13, 2010, at 9:38 AM, Ralph Castain wrote: > Could you at least provide a one-line explanation of that statement? > > > On Dec 13, 2010, at 7:31 AM, Jeff Squyres wrote: > >> Also note that recent versions of the Linux kernel have changed what >> sched_yield() does -- it no longer does essentially what Ralph describes >> below. Google around to find those discussions. >> >> >> On Dec 9, 2010, at 4:07 PM, Ralph Castain wrote: >> >>> Sorry for delay - am occupied with my day job. >>> >>> Yes, that is correct to an extent. When you yield the processor, all that >>> happens is that you surrender the rest of your scheduled time slice back to >>> the OS. The OS then cycles thru its scheduler and sequentially assigns the >>> processor to the line of waiting processes. Eventually, the OS will cycle >>> back to your process, and you'll begin cranking again. >>> >>> So if no other process wants or needs attention, then yes - it will cycle >>> back around to you pretty quickly. In cases where only system processes are >>> running (besides my MPI ones, of course), then I'll typically see cpu usage >>> drop a few percentage points - down to like 95% - because most system tools >>> are very courteous and call yield is they don't need to do something. If >>> there is something out there that wants time, or is less courteous, then my >>> cpu usage can change a great deal. >>> >>> Note, though, that top and ps are -very- coarse measuring tools. You'll >>> probably see them reading more like 100% simply because, averaged out over >>> their sampling periods, nobody else is using enough to measure the >>> difference. >>> >>> >>> On Dec 9, 2010, at 1:37 PM, Hicham Mouline wrote: >>> >>>>> -----Original Message----- >>>>> From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On >>>>> Behalf Of Eugene Loh >>>>> Sent: 08 December 2010 16:19 >>>>> To: Open MPI Users >>>>> Subject: Re: [OMPI users] curious behavior during wait for broadcast: >>>>> 100% cpu >>>>> >>>>> I wouldn't mind some clarification here. Would CPU usage really >>>>> decrease, or would other processes simply have an easier time getting >>>>> cycles? My impression of yield was that if there were no one to yield >>>>> to, the "yielding" process would still go hard. Conversely, turning on >>>>> "yield" would still show 100% cpu, but it would be easier for other >>>>> processes to get time. >>>>> >>>> Any clarifications? >>>> >>>> _______________________________________________ >>>> users mailing list >>>> us...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/