Date: Thu, 18 Jun 2020 21:42:54 +0000 (UTC) From: Pawel Biernacki <kaktus@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r362343 - in head/sys: kern sys Message-ID: <202006182142.05ILgsae091825@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kaktus Date: Thu Jun 18 21:42:54 2020 New Revision: 362343 URL: https://svnweb.freebsd.org/changeset/base/362343 Log: hw.bus.info: rework handler hw.bus.info was added in r68522 as a node, but there was never anything connected "behind" it. Its only purpose is to return a struct u_businfo. The only in-base consumer are devinfo(3)/devinfo(8). Rewrite the handler as SYSCTL_PROC and mark it as MPSAFE and read-only as there never was a writable path. Reviewed by: kib Approved by: kib (mentor) Sponsored by: Mysterious Code Ltd. Differential Revision: https://reviews.freebsd.org/D25321 Modified: head/sys/kern/subr_bus.c head/sys/sys/sysctl.h Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Thu Jun 18 20:49:56 2020 (r362342) +++ head/sys/kern/subr_bus.c Thu Jun 18 21:42:54 2020 (r362343) @@ -5454,7 +5454,7 @@ print_devclass_list(void) */ static int -sysctl_bus(SYSCTL_HANDLER_ARGS) +sysctl_bus_info(SYSCTL_HANDLER_ARGS) { struct u_businfo ubus; @@ -5463,7 +5463,8 @@ sysctl_bus(SYSCTL_HANDLER_ARGS) return (SYSCTL_OUT(req, &ubus, sizeof(ubus))); } -SYSCTL_NODE(_hw_bus, OID_AUTO, info, CTLFLAG_RW | CTLFLAG_NEEDGIANT, sysctl_bus, +SYSCTL_PROC(_hw_bus, OID_AUTO, info, CTLTYPE_STRUCT | CTLFLAG_RD | + CTLFLAG_MPSAFE, NULL, 0, sysctl_bus_info, "S,u_businfo", "bus-related data"); static int @@ -5555,7 +5556,8 @@ bus_data_generation_check(int generation) void bus_data_generation_update(void) { - bus_data_generation++; + + atomic_add_int(&bus_data_generation, 1); } int Modified: head/sys/sys/sysctl.h ============================================================================== --- head/sys/sys/sysctl.h Thu Jun 18 20:49:56 2020 (r362342) +++ head/sys/sys/sysctl.h Thu Jun 18 21:42:54 2020 (r362343) @@ -1122,7 +1122,6 @@ SYSCTL_DECL(_dev); SYSCTL_DECL(_hw); SYSCTL_DECL(_hw_bus); SYSCTL_DECL(_hw_bus_devices); -SYSCTL_DECL(_hw_bus_info); SYSCTL_DECL(_machdep); SYSCTL_DECL(_machdep_mitigations); SYSCTL_DECL(_user);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006182142.05ILgsae091825>