← Back to context

Comment by winocm

10 months ago

DEC Alpha support is somehow still in the mainline Linux kernel...

Yeah m68k is still around too and it has more than a decade on alpha.

People use and maintain them and they have very little impact outside arch/ nowadays so they're on the happy side of cost/benefit I guess.

  • I guess the biggest difference is that Coldfire parts are still being produced (c.f: MCF52256CVN66).

    I'm not sure if Alphas are even being made anymore, even 15-20 years ago.

  • M68k has the advantage that it has a fairly typical memory model.

    Alpha's memory model has problems with providing atomic access to single bytes, which i'd imagine in a kernel is a bit annoying :-)

    And then there's just the social aspect, m68k was used in the Amiga/Atari/Mac/QL/x68k, so there is a whole generation of us m68k fans who are willing to keep it alive.

    Alpha has it's fans (me included!), but it's not exactly the same. So in a way it's no surprise it's slowly bitrotting away.

    • Since the C compiler can hide that, for core kernel code I think the more problematic thing was Alpha's memory consistency model where (data-)dependent loads accesses did not imply ordering, which is unusual and more burdensome to the programmer than any other ISA.

      That required this smp_read_barrier_depends() through the kernel, but actually in recent years that has basically been subsumed by other concurrent access primitives that all the core kernel must use, so I think alpha is no longer much of a problem outside arch/alpha

    • Ah, my favorite instructions, 'hw_ldl/l', 'hw_stl/c', 'ldl_l', 'stl_c' and their quadword siblings.