Every week or so there seems to be drama about some old dude shouting about how rust in the Linux kernel is bad. Given all the open hostility, is there easier way for R4L to continue their work?

  • 0x0@programming.dev
    link
    fedilink
    arrow-up
    3
    arrow-down
    7
    ·
    1 day ago

    The “let’s rewrite it in <insert fancy new language here>” trope only works in a small project. Doing it in large-scale years-old well-maintained projects is asking for trouble (especially if there are no unit tests) and friction.

    Best way forward if they so insist is to refactor small bits without interfering with the existing code-base.

    • The_Decryptor@aussie.zone
      link
      fedilink
      English
      arrow-up
      9
      ·
      edit-2
      1 day ago

      Best way forward if they so insist is to refactor small bits without interfering with the existing code-base.

      I’m not sure they’re even doing that, I think the policy is that Rust code can depend on C code, but C can’t depend on Rust. So at the moment nothing can actually be rewritten in Rust, it’s only additions like new drivers.

      • 0x0@programming.dev
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        1 day ago

        it’s only additions like new drivers.

        What prevents them from rewritting old drivers? Some sort of API incompability? I was under the impression they were doing just that.

        • The_Decryptor@aussie.zone
          link
          fedilink
          English
          arrow-up
          4
          ·
          23 hours ago

          I think the biggest issue would be a lack of interfaces to the C side code, they’re slowly being fleshed out and each one enables more functionality for the Rust modules.

          e.g. the test Ext2 driver a MS dev wrote last year after enough of the filesystem interfaces got hooked up

          But even then, I don’t think the maintainers would accept one that replaces the existing C driver, that’d break non-Rust builds and architectures, and that’s a sure-fire way to get Linus on your case. Best you can hope for is one that complements a C driver, and even then I think you’d need a good reason to have two drivers for the same hardware.