summaryrefslogtreecommitdiff
path: root/include/uapi/linux/genetlink.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-10-24 15:40:04 +0300
committerDavid S. Miller <davem@davemloft.net>2016-10-27 23:16:09 +0300
commit2ae0f17df1cd52aafd1ab0415ea1f1dd56dc0e2a (patch)
tree492385624b87bc97c0ace5f8439606779de71802 /include/uapi/linux/genetlink.h
parent489111e5c25b93be80340c3113d71903d7c82136 (diff)
downloadlinux-2ae0f17df1cd52aafd1ab0415ea1f1dd56dc0e2a.tar.xz
genetlink: use idr to track families
Since generic netlink family IDs are small integers, allocated densely, IDR is an ideal match for lookups. Replace the existing hand-written hash-table with IDR for allocation and lookup. This lets the families only be written to once, during register, since the list_head can be removed and removal of a family won't cause any writes. It also slightly reduces the code size (by about 1.3k on x86-64). Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/genetlink.h')
-rw-r--r--include/uapi/linux/genetlink.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/genetlink.h b/include/uapi/linux/genetlink.h
index d9b2db4a29c6..adc899381e0d 100644
--- a/include/uapi/linux/genetlink.h
+++ b/include/uapi/linux/genetlink.h
@@ -29,6 +29,8 @@ struct genlmsghdr {
#define GENL_ID_CTRL NLMSG_MIN_TYPE
#define GENL_ID_VFS_DQUOT (NLMSG_MIN_TYPE + 1)
#define GENL_ID_PMCRAID (NLMSG_MIN_TYPE + 2)
+/* must be last reserved + 1 */
+#define GENL_START_ALLOC (NLMSG_MIN_TYPE + 3)
/**************************************************************************
* Controller