Linus Torvalds to Leave Linux Temporarily

Creator of Linux kernel wants to take a pause to "figure out how to understand people's emotions and react adequately"
18 September 2018   1913

On September 16, 2018, along with the announcement of the release of the fourth release candidate, Linux 4.19, Linus Torvalds stated that he for the time being removed from the development of the OS kernel to "figure out how to understand people's emotions and react adequately." He will be replaced by Greg Kroah-Hartman.

I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.

Linus Torvalds

Creator, Linux

According to Torvalds, the incident with the overlay of his vacation for the time of the October Summit of Linux developers (Maintainer's Summit) made him look at himself from the outside. In early September, it turned out that because of inattention, he planned a holiday with his family during the summit. Because of this, I had to move the meeting from Vancouver to Edinburgh, which was somewhat difficult.

Torvalds acknowledged he was rude, often did not consider the feelings of other people, but regretted it and intended to correct his behavior. Jono Bacon, a leading strategic development consultant, considered this recognition as evidence that Linus is putting the project ahead of his own ego, and invited colleagues to support him in this endeavor.

Torvalds also amended the Code of Conduct, which regulates the resolution of conflicts within the community. The old version was limited to a short list of recommendations for respectful relationship to each other. The new extends and refines this list, taking as a basis the Contributor Covenant, adopted in many other open source projects, including GitLab, Kubernetes and those developed by Google.

A couple of months before, another leader- the head of the Python project Guido van Rossum - announced about his resignation, but more long-term. He limited his role in the development of language as a mentor and kernel developer, and left more global issues to the discretion of the community. Van Rossum explained that he was tired of participating in the battles for PEP-specifications and "seeing how many people despise" his decisions.

LLVM 10.0.0 to be Released

New version of the popular development toolkit brings, among other things, support for the C++ Concepts
26 March 2020   949

After six months of development, the release of the LLVM 10.0 project, a GCC-compatible toolkit (compilers, optimizers, and code generators), compiling programs into an intermediate bitcode of RISC-like virtual instructions (a low-level virtual machine with a multi-level optimization system), is presented. The generated pseudo-code can be converted using the JIT compiler into machine instructions directly at the time of program execution.

Among the new features of LLVM 10.0, there are support for C ++ Concepts (C ++ Concepts), termination of the launch of Clang in the form of a separate process, support for CFG checks (control flow guard) for Windows, and support for new CPU features.

The main innovations of LLVM 10.0:

  • New interprocedural optimizations and analyzers have been added to the Attributor framework. The prediction of the state of 19 different attributes, including 12 attributes of 12 LLVM IR and 7 abstract attributes such as liveness, is provided.
  • New built-in compiler matrix mathematical functions (Intrinsics) have been added, which, when compiled, are replaced by effective vector instructions.
  • Numerous improvements to the backends for the X86, AArch64, ARM, SystemZ, MIPS, AMDGPU, and PowerPC architectures. Added support for Cortex-A65, Cortex-A65AE, Neoverse E1 and Neoverse N1 CPUs. For ARMv8.1-M, ​​the code generation process has been optimized (for example, support for loops with minimal overhead has appeared) and support for auto-vectorization using the MVE extension has been added. Improved support for CPU MIPS Octeon. PowerPC includes vectorization of mathematical routines using the MASSV (Mathematical Acceleration SubSystem) library, improved code generation, and optimized memory access from loops. For x86, the processing of vector types v2i32, v4i16, v2i16, v8i8, v4i8 and v2i8 has been changed.
  • Improved code generator for WebAssembly. Added support for TLS (Thread-Local Storage) and atomic.fence instructions. Significantly expanded support for SIMD. WebAssembly object files added the ability to use function signatures with multiple values.
  • When processing cycles, the MemorySSA analyzer is used to determine the dependencies between different memory operations. MemorySSA can reduce compilation and execution time, or can be used instead of AliasSetTracker without sacrificing performance.
  • The LLDB debugger has significantly improved support for the DWARF v5 format. Improved build support with MinGW and added the initial ability to debug Windows executable files for ARM and ARM64 architectures. Added descriptions of options offered when autocompleting input by pressing tabs.
  • Enhanced LLD Linker Features. Improved support for the ELF format, including full compatibility of glob templates with the GNU linker, added support for the compressed debug sections ".zdebug", added the PT_GNU_PROPERTY property to determine the section (can be used in future Linux kernels), implemented modes "-z noseparate-code", "-z separate-code" and "-z separate-loadable-segments". Improved support for MinGW and WebAssembly.

Get more at the release notes.