Optimize kern.geom.conf* sysctls performance on large systems

Description

None

Problem/Justification

None

Impact

None

SmartDraw Connector

Katalon Manual Tests (BETA)

Activity

Show:

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.

Complete
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Affects versions

Priority

More fields

Katalon Platform

Created June 17, 2019 at 3:09 PM
Updated June 25, 2019 at 11:32 PM
Resolved June 25, 2019 at 11:32 PM