Optimize kern.geom.conf* sysctls performance on large systems
Description
Problem/Justification
Impact
SmartDraw Connector
Katalon Manual Tests (BETA)
Activity

Dru Lavigne June 24, 2019 at 1:43 PM

Alexander Motin June 20, 2019 at 7:00 PM
Testing shown that result of the first patch is sufficient. So the first one goes to 11.2-U5, and the second one remains to 11.3.

Alexander Motin June 19, 2019 at 7:42 PM
The patches are pushed to 11.3. For 11.2 I built a test kernel to try. If we consider merging patches to 11.2, it should be easy. But there are two patches: first is small, fixing just TLB shootdowns, and second is much more invasive, improving also normal CPU usage by the XML generation code. We may merge only first, if we prefer to be conservative,

Alexander Motin June 18, 2019 at 9:44 PM
I've pushed https://github.com/freenas/os/commit/a425d621fb06fef803aa194190d781812a050fc6 into 11-stable. May cook custom 11.2 kernel to try tomorrow.

Alexander Motin June 18, 2019 at 8:34 PM
I am working on a patch for the GEOM side, that should avoid most of TLB shootdowns there. Partially by avoiding buffer allocation at all on the first sysctl call estimating the data size, and partially by caching the last calculated data size when allocating buffer for the second sysctl call, so that there is a high chance that we won't need to reallocate it in process. I am unable to reproduce so pathological result on my FreeBSD head system, but I do see time reduction from 100ms per call to 40ms per call and no more TLB shootdowns.
Details
Details
Assignee

Reporter

11.2 commit: https://github.com/freenas/os/commit/6aad246318c227fb16b44506f981ed90ac24aa2e