All posts by corbet

Vcc: a Clang compiler for Vulkan

Post Syndicated from corbet original https://lwn.net/Articles/957269/

The Vcc compiler has been
announced
.

It’s exactly what the name implies: a clang-based compiler that
outputs code that runs on Vulkan.

Vcc can be thought of as a GLSL and HLSL competitor, but the true
intent of this project is to retire the concept of shading
languages entirely. Unlike existing shading languages, Vcc makes a
honest attempt to bring the entire C/C++ language family to Vulkan,
which means implementing a number of previously unseen features in
Vulkan shaders

The OpenWrt One project

Post Syndicated from corbet original https://lwn.net/Articles/957255/

OpenWrt developer John Crispin says:
“In 2024 the OpenWrt project turns 20 years! Let’s celebrate this
anniversary by launching our own first and fully upstream supported
hardware design.
” The rest of the message describes the proposed
OpenWrt-native network-routing system, based Banana Pi boards; the project is
being organized through the Software Freedom Conservancy. (Thanks to Dave
Täht).

Leemhuis: Regression tracking: state of the union early 2024

Post Syndicated from corbet original https://lwn.net/Articles/957252/

Thorsten Leemhuis writes
about his plans
for improving the kernel’s regression handling in the
coming year.

Top-priority will be “make regzbot more useful for kernel subsystem
maintainers” from now on. My tracking efforts of course will
continue, but everything except regressions in the current and the
previous mainline cycle might not see much attention from my
side. This refocusing also means that I won’t work much on
resolving some ambiguities around “how regressions are supposed to
be handled” which lead to tension quite a few times. But all that
should be for the best in the long term.

Shaw: Python 3.13 gets a JIT

Post Syndicated from corbet original https://lwn.net/Articles/957239/

Anthony Shaw describes
the new copy-and-patch JIT
that has been proposed for Python 3.13.

Copy-and-patch was selected because the compilation from bytecodes
to machine code is done as a set of “templates” that are then
stitched together and patched at runtime with the correct
values. This means that your average Python user isn’t running this
complex JIT compiler architecture inside their Python
runtime. Python writing it’s own IL and JIT would also be
unreasonable since so many are available off-the-shelf like LLVMs
and ryuJIT. But a full-JIT would require those being bundled with
Python and all the added overheads. A copy-and-patch JIT only
requires the LLVM JIT tools be installed on the machine where
CPython is compiled from source, and for most people that means the
machines of the CI that builds and packages CPython for python.org.

The 6.7 kernel has been released

Post Syndicated from corbet original https://lwn.net/Articles/957098/

Linus has released the 6.7 kernel.

End result: 6.7 is (in number of commits: over 17k non-merge
commits, with 1k+ merges) one of the largest kernel releases we’ve
ever had, but the extra rc8 week was purely due to timing with the
holidays, not about any difficulties with the larger release.

Some of the headline features in this release are:
the removal of support for the Itanium
architecture,
the first part of the futex2 API,
futex
support
in io_uring,
the BPF exceptions mechanism,
the bcachefs filesystem,
the TCP
authentication option
,
the kernel samepage merging smart
scan mode
, and
networking
support
for the Landlock security module.
See the LWN merge-window summaries (part 1,
part 2) and the (in-progress) KernelNewbies 6.7 page for
more information.

[$] Kernel-text replication on NUMA systems

Post Syndicated from corbet original https://lwn.net/Articles/956900/

Kernel developers often go out of their way to reduce the memory used by
the kernel itself; that memory is not available for the workloads that
people are actually interested in running on their systems. Lower memory
usage also tends to lead to better performance overall. But there are
times when the expenditure of some extra memory can make the system faster.
The replication of the kernel’s text (executable code) and read-only data
across a NUMA system may be a case in point; patch sets have been posted
adding that capability to two architectures.

Computer science pioneer Niklaus Wirth passes away (ITWire)

Post Syndicated from corbet original https://lwn.net/Articles/956864/

ITWire covers
the passing of Niklaus Wirth
.

Wirth is well-remembered for his pioneering work in programming
languages and algorithms. For these achievements, he received the
ACM Turing Award in 1984, inducted as a Fellow of the ACM in 1994,
and a Fellow of the Computer History Museum in 2004.

They include, among many, being chief designer for the programming
languages Euler (1965), PL360 (1966), ALGOL W (1968), Pascal
(1970), Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2
(1991), and Oberon-07 (2007).

Vim 9.1 released

Post Syndicated from corbet original https://lwn.net/Articles/956696/

Version 9.1 of the
Vim editor has been released. “This release is dedicated to Bram
Moolenaar, Vims lead developer for more than 30 years, who passed away half
a year ago. The Vim project wouldn’t exist without his work
“. Changes
include new support for classes and objects in the scripting language,
smooth scrolling support, an EditorConfig plugin, and more.

[$] LWN’s guide to 2024

Post Syndicated from corbet original https://lwn.net/Articles/954544/

The calendar has flipped over into 2024 — another year has begun. Here at
LWN, we do not have a better idea of what this year will bring than anybody
else does, but that doesn’t keep us from going out on a shaky limb and
making predictions anyway. Here, for the curious, are a few things that we
think may be in store for 2024.

[$] The trouble with MAX_ORDER

Post Syndicated from corbet original https://lwn.net/Articles/956321/

One might not think that much could be said about a simple macro defining a
constant integer value. But the kernel is special, it seems. A change to
the definition of MAX_ORDER has had a number of follow-on effects,
and the task of cleaning up after this change is not done yet. So perhaps
a look at MAX_ORDER is in order.

Kernel prepatch 6.7-rc8

Post Syndicated from corbet original https://lwn.net/Articles/956467/

Linus has released 6.7-rc8 for testing.

So as expected, pretty much nothing happened over the holiday week.
We’ve got literally just 45 files changed, and almost a third of
those files aren’t even kernel code (ie things like selftests,
scripting, Kconfig and maintainer file updates). And some of the
rest is prep-work and cleanups for future (real) changes.

But we do have a couple of real fixes in there, and I suspect we’ll
get a few more next week as people come back from their
food-induced torpor.

Gnuplot 6.0 released

Post Syndicated from corbet original https://lwn.net/Articles/956454/

Version 6.0 of the Gnuplot plotting system
has been released.

Gnuplot has been supported and under active development since 1986.
This is the first new major version of gnuplot since the release of
version 5 in January 2015. It introduces extensions to the gnuplot
command language, an expanded collection of special and
complex-valued functions, additional 2D and 3D plotting styles, and
support for new output protocols.

See the
release notes
for details.

Gentoo in binary form

Post Syndicated from corbet original https://lwn.net/Articles/956366/

Gentoo Linux is the prototypical source-based distribution, but there is
now a
binary installation option
available as well.

To speed up working with slow hardware and for overall convenience,
we’re now also offering binary packages for download and direct
installation! For most architectures, this is limited to the core
system and weekly updates – not so for amd64 and arm64
however. There we’ve got a stunning >20 GByte of packages on our
mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker.