On Sat, Sep 25, 2021 at 1:43 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > Umm... Bootable AS200 (EV45), bootable DS10 (EV6), theoretically > resurrectable UP1000 (EV67, fans on CPU module are in horrible state > and southbridge is unreliable, so the life is more interesting than > it's worth), working qemu-system-alpha (EV67). No SMP boxen and > I've no idea if qemu can do SMP alpha these days... Well, the way we traditionally did lazy x87 state save/restore on x86 was very much smp-sensitive, so that lack of test coverage is a bit sad. That said, this approach doesn't really seem to have _those_ kinds of issues, since you always save things at 'switch_to()', so I guess it doesn't matter. > Whether it's worth it... beginning of the series or this one? This last one was the one I reacted to. I don't think it's wrong (although please, use a more descriptive name that "V" for that asm macro shorthand), but it does strike me as somewhat special. And if we do want to do this (I'm open to it, I just want to make sure it's tested), please just make those alpha_{read|write}_fp_reg() functions always do the save_fpu() thing, and then alway sjust access the array. IOW, something like preempt_disable(); save_fpu(current); preempt_disable(); .. now access the array that is easy to index .. and just remove the silly "switch (reg)" things that access the raw registers. We couldn't do that before, but with that save state area it's trivial and much cleaner. Linus