title: why call schedule explicitly in sys_sched_yield in linux 2.4
body: <p>I'm taking an OS class and we're looking at the scheduler, my question is about when to explicitly call schedule().</p>
  
  <p>In linux 2.4, scheduler is called after 'need_resched' flag is set, why do we explicitly call schedule() in sys_sched_yield(), and what would happen if we just set the flag instead?</p>