On Wed, Sep 18, 2002 at 10:45:08AM +0200, Kevin D. Kissell wrote: > From: "Jun Sun" <jsun@mvista.com> > > On Wed, Sep 18, 2002 at 02:10:17AM +0200, Kevin D. Kissell wrote: > > > Are you able to test this stuff on a proper SMP > > > system, by the way? The efficiency of the code > > > that manipulates interprocessor control variables > > > can reasonably be expected to drop off a bit > > > in a system with MP cache invalidations blasting > > > left and right. > > > > Yes. I understand this effect. Solution 1), 2) > > and 3) don't really suffer from this problem because > > variables tested & manipulated are local - unless the > > process migrates which is a different problem. > > It's not a "different problem", Process migration causeing inter-processor memory access traffic (which should be one-time) belongs to scheduling issue. It is a different problem. > it's the heart of the > problem. If we weren't worried about SMP > behavior, we wouldn't be revisiting this stuff. > While (1) can obviously be done without any > global knowledge, as could something (2)-like > based on CPU-local state such as Status.CU1, > (2), (3) and (4), as you describe them, all depend > to some degree on shared multiprocessor variables > to determine whether to save or restore FP state. > 1), 2), 3) do not depend on global variables with shared access from multiple cpus. Please read again. Please note variables of "current" process do not cause inter-processor traffic and thus not belong to this category. Jun