Re: [PATCH 1/3] netlink: Add notifier when changing netlink socket membership
From: Stanislaw Gruszka <hidden>
Date: 2024-02-01 13:11:02
Also in:
linux-pm
On Wed, Jan 31, 2024 at 05:40:56PM -0800, Jakub Kicinski wrote:
On Wed, 31 Jan 2024 13:05:33 +0100 Stanislaw Gruszka wrote:quoted
Add notification when adding/removing multicast group to/from client socket via setsockopt() syscall. It can be used with conjunction with netlink_has_listeners() to check if consumers of netlink multicast messages emerge or disappear. A client can call netlink_register_notifier() to register a callback. In the callback check for state NETLINK_CHANGE and NETLINK_URELEASE to get notification for change in the netlink socket membership. Thus, a client can now send events only when there are active consumers, preventing unnecessary work when none exist.Can we plumb thru the existing netlink_bind / netlink_unbind callbacks? Add similar callbacks to the genl family struct to plumb it thru to thermal. Then thermal can do what it wants with it (also add driver callbacks or notifiers).
Yes, sure, can be done this way and make sense. Going to do this.
Having a driver listen to a core AF_NETLINK notifier to learn about changes to a genl family it registers with skips too many layers to easily reason about. At least for my taste. When you repost please CC Florian W, Johannes B and Jiri P, off the top of my head. Folks who most often work on netlink internals..
Ok. Regards Stanislaw