Date: Mon, 12 Jul 2021 19:12:10 +0100 From: Vincent Donnefort <vincent.donnefort@....com> To: Rich Felker <dalias@...c.org> Cc: Samuel Holland <samuel@...lland.org>, musl@...ts.openwall.com, jason <jason@...omnia247.nl> Subject: Re: [PATCH v3] sysconf: add _SC_NPROCESSORS_CONF support [...] > > > If they're mandated stable interfaces that "happen" to have the exact > > > data we need, I don't see what the objection to using them is. A > > > better question would be whether access to them is restricted in any > > > hardening profiles. At least they don't seem to be hidden by the > > > hidepid mount option. > > > > Indeed the function hasn't changed for 10y, which is I guess somewhat stable > > and it is currently walking through all the possible CPUs (which is what we want > > to count). Also, this file is currently always present whenever procfs is > > mounted. > > > > Nonetheless, as this is human-readable, nothing mandates the format. And as an > > example, on my desktop machine, with 448 allocated CPUS, the first line of > > /proc/softirqs (the line that contains all the CPUs) is 4949 long. The > > "possible" mask describes same information with only 6 characters. > > It's not just a matter of age and de facto stability. Kernel policy is > that the procfs files are stable interfaces. Despite being "human > readable", they're also intended to be readable by, and actually read > by, utilities such as the procps suite of tools, "top"-type programs, > etc. > What I wanted to emphasis is the cost of reading that interface vs the CPU mask in the sysfs. The only gain is for a system with a _CONF user, where some CPUs have been hotunplug'ed, and where the sysfs isn't mounted while the procfs is. This can surely happen, but compared with the cost of parsing a long string (see the ~x1000 in the example above) it doesn't seem a good trade-off to me.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.