Evolution of the x86 context switch in Linux (2018)
Enjoyed this article, anybody know the significance of adding the do..while(0) loop within the macro starting Linux 1.3?Was curious if it guards against some C pre-processor issues.  /** include/asm-i386/system.h */
  #define switch_to(tsk) do {
    [...]
  } while (0)