On Tue, 8 Jan 2002, Andrew Morton wrote: > > What a preemptible kernel can do that a non-preemptible kernel can't is: > > reschedule exactly as often as necessary, instead of having lots of extra > > schedule points inserted all over the place, firing when *they* think the > > time is right, which may well be earlier than necessary. > > Nope. `if (current->need_resched)' -> the time is right (beyond right, > actually). Have we ever considered making rescheduling work like get_user? That is, make current->need_resched be a pointer, and if we need to reschedule, make it an INVALID pointer that causes us to fault and call schedule in its fault path? Orthogonally, for rescheduling points with locks, we could build a version of the spinlocks that know when they're blocking other processes and can do a spin_yield(&lock) in places where they can safely give up a lock. On single processor, spin_yield could translate to a scheduling point. -- "Love the dolphins," she advised him. "Write by W.A.S.T.E.." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo _at_ vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Follow-Ups:
- Re: [2.4.17/18pre] VM and swap - it's really unusableHelge Hafting <helgehaf _at_ aitel.hist.no>
- Re: [2.4.17/18pre] VM and swap - it's really unusableAndrew Morton <akpm _at_ zip.com.au>
- Prev by Date: Re: [2.4.17/18pre] VM and swap - it's really unusable
- Next by Date: Re: Problem with network
- Previous by thread: Re: [2.4.17/18pre] VM and swap - it's really unusable
- Next by thread: Re: [2.4.17/18pre] VM and swap - it's really unusable
- Indexes:[Main][Thread]