On Wed, 16 Jan 2008, Mathieu Desnoyers wrote: > It would imply the creation of a new vsyscall : vgetschedperiod > > It would read a counter that would increment each time the thread is > scheduled out (or in). It would be a per thread counter (not a per cpu > counter) so we can deal appropriately with a stopped thread that would > happen to come back running a loooong time afterward (if we do per-cpu > counters, we could get the same 32 bits counter value falsely if it is > shared with other thread activity). > > Then, the clocksource read code would look like : > > int period; > > do { > period = vgetschedperiod(); > > perform the clocksource read.. > > } while (period != vgetschedperiod()); > > Therefore, we would be sure that we have not been scheduled out while > reading the value. I think this new vsyscall could be useful for others. > Actually, it would make implementation of RCU in user-space possible (as > long as the read-side can retry the read operation).
This is something that I would agree is useful. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/