Page MenuHomeFreeBSD

goem: Add counts for enomem and pausing
ClosedPublic

Authored by imp on May 22 2024, 11:08 PM.
Tags
None
Referenced Files
F86715577: D45309.diff
Mon, Jun 24, 11:33 AM
Unknown Object (File)
May 24 2024, 6:50 PM
Unknown Object (File)
May 24 2024, 6:14 PM
Unknown Object (File)
May 24 2024, 6:13 PM
Unknown Object (File)
May 24 2024, 4:27 PM
Unknown Object (File)
May 24 2024, 11:15 AM
Unknown Object (File)
May 24 2024, 10:28 AM
Unknown Object (File)
May 23 2024, 8:48 AM
Subscribers
None

Details

Summary

Add counts for the number of requests that complete with the ENOMEM as
kern.geom.nomem_count and the number of times we pause to let the system
recover kern.geom.pause_count.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 57856
Build 54744: arc lint + arc unit

Event Timeline

imp requested review of this revision.May 22 2024, 11:08 PM
imp created this revision.
sys/geom/geom_io.c
78

u_long?

835

The min() is useless, zero count is converted to 1 tick by pause_sbt()

836

Why is this increment non-atomic?

sys/geom/geom_io.c
78

This, or maybe counter_u64_t?

835

I'll do a followup commit.

836

g_down is one thread, no? I could use counters here if I'm wrong about that.

sys/geom/geom_io.c
78

These events are exceptional. Counter64 adds non-insignificant memory overhead and fetch complications there, without benefits IMO.

836

ok, the perhaps add a single-line hint about this, please

update with kib's review suggestions.

This revision is now accepted and ready to land.May 24 2024, 7:25 AM

There is a typo in the review title, goem -> geom

This revision was automatically updated to reflect the committed changes.