It's common knowledge that Assembler is the fastest language for certain tasks, which is why it's the most widely used in the kernels of various operating systems, and the same is true for real-time projects using advanced electronics. The problem arises later, when that code needs to be maintained but isn't, and therefore, in the case of the Linux kernel, developers have opted to translate that Assembler code into C.
C is the most representative programming language of Linux ( in fact, of all *nix platforms). It was developed by Dennis Ritchie and Ken Thompson in 1972, was created on a PDP-11 Unix system, and was part of Unix version 2. Given its high performance and portability, it began to be used more and more in the implementation of operating systems, and for this reason, Linus Torvalds used it for his project when, back in 1990, he was looking for a free and open alternative to Minix.
Of course, despite its many strengths, Assembler has some advantages over C, as we mentioned at the beginning. Therefore, this decision has been surprising, but according to Andy Lutomirsky's comments on the kernel mailing lists, his work is already well underway, and the Linux 4.1 kernel will be the first to incorporate this rewrite of the Assembler source code to C. Specifically, this applies to everything related to user mode outputs, which currently consist of a mix of code from these two programming languages, but given its lack of maintenance, updates are becoming increasingly difficult.
The problem is that the Assembler code hasn't been updated in a long time, which means new developers don't fully understand how it works, and worse, updating it wouldn't be easy. So, instead of trying partial changes, they've opted to start converting all those Assembler routines to C. Personally, I think that even if there's a slight loss of execution speed (which can be minimal if the new C code is efficient), it's always preferable to have new, clear code rather than outdated code with almost no chance of being updated because its implementation is unclear.