From: Jakub Kicinski Date: Fri, 6 Jan 2023 06:09:10 +0000 (-0800) Subject: Merge branch 'devlink-code-split-and-structured-instance-walk' X-Git-Tag: v6.3-rc1~162^2~332 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3d759e9e24c38758abc19a4f5e1872a6460d5745;p=tomoyo%2Ftomoyo-test1.git Merge branch 'devlink-code-split-and-structured-instance-walk' Jakub Kicinski says: ==================== devlink: code split and structured instance walk Split devlink.c into a handful of files, trying to keep the "core" code away from all the command-specific implementations. The core code has been quite scattered until now. Going forward we can consider using a source file per-subobject, I think that it's quite beneficial to newcomers (based on relative ease with which folks contribute to ethtool vs devlink). But this series doesn't split everything out, yet - partially due to backporting concerns, but mostly due to lack of time. Bulk of the netlink command handling is left in a leftover.c file. Introduce a context structure for dumps, and use it to store the devlink instance ID of the last dumped devlink instance. This means we don't have to restart the walk from 0 each time. Finally - introduce a "structured walk". A centralized dump handler in devlink/netlink.c which walks the devlink instances, deals with refcounting/locking, simplifying the per-object implementations quite a bit. Inspired by the ethtool code. v1: https://lore.kernel.org/all/20230104041636.226398-1-kuba@kernel.org/ RFC: https://lore.kernel.org/all/20221215020155.1619839-1-kuba@kernel.org/ ==================== Link: https://lore.kernel.org/r/20230105040531.353563-1-kuba@kernel.org Signed-off-by: Jakub Kicinski --- 3d759e9e24c38758abc19a4f5e1872a6460d5745