Messages in this thread | | | Date | Wed, 31 Mar 2004 08:04:10 -0500 (EST) | From | Bill Davidsen <> | Subject | Re: [ACPI] Re: Linux 2.4.26-rc1 (cmpxchg vs 80386 build) |
| |
On Wed, 31 Mar 2004, Maciej W. Rozycki wrote:
> On Tue, 30 Mar 2004, Bill Davidsen wrote: > > > Is there no reasonable way to avoid using it in ACPI? It's not as if > > performance was critical there, or the code gets run often. Too bad it > > can't just be emulated like floating point, but I don't think it can on SMP. > > Well, "cmpxchg", "xadd", etc. can be easily emulated with an aid of a > spinlock. With SMP operation included.
Clearly they can be replaced with inline code, as for catching the ill-op fault and emulating inline, I want to think about that a bit on SMP, in the case where multiple CPUs are accessing different locations, one is in kernel and one in user mode, etc.
If it can be emulated safely in all cases, then that provides an out for the 386 case. To be useful it would have to be correct for all combinations of SMP, preempt and an interrupt and any point.
-- bill davidsen <davidsen@tmr.com> CTO, TMR Associates, Inc Doing interesting things with little computers since 1979.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |