[RFC PATCH v1 0/2] add type-safer list_head wrapper

From: Barnabás Pőcze
Date: Thu Mar 10 2022 - 20:32:58 EST


As there have been various discussions[1][2] about improving
the current `list_head` facilities, I would like to
propose a type-safe(r), lightweight wrapper: tlist.

The first commit goes into details as to how it works,
lists some of its advantages and disadvantages.

The second commit showcases it in the existing WMI platform driver.

NOTE: these changes are mostly untested! They are purely for showcasing
a possible implementation and API. And they depend on the switch to gnu11.

I would like to get some feedback as to whether/how acceptable this
approach is before going further: writing documentation, tests, and
adding more wrappers around existing `list_head` facilities
(e.g. reverse iteration is not implemented).

If this idea has already been proposed, I apologize,
I must have missed it when I searched for similar patches.

PS. I have tried to select those who may be interested
in this discussion, I may have missed people or added
people who aren't interested. Sorry.

[1]: https://lore.kernel.org/all/20220217184829.1991035-1-jakobkoschel@xxxxxxxxx/
[2]: https://lore.kernel.org/all/20220301075839.4156-1-xiam0nd.tong@xxxxxxxxx/
And see https://lwn.net/Articles/887097/ for a summary.

Barnabás Pőcze (2):
list: add type-safer list_head wrapper
platform/x86: wmi: use tlist for WMI blocks

drivers/platform/x86/wmi.c | 54 ++++++++++---------------
include/linux/tlist.h | 81 ++++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+), 33 deletions(-)
create mode 100644 include/linux/tlist.h

--
2.35.1