__ssam_retry(9)
π
__ssam_retry β the Kernel API Manual, bestie edition π
okay so real talk, this one lives in the Kernel API Manual (__ssam_retry(9)) and it's genuinely one of the most "just keep trying, you got this" functions in the whole tree. iconic behavior honestly π«Ά
β¨ NAME β¨
__ssam_retry β retry the request when it hits an I/O error or times out. that's the whole vibe. no cap.
π¦ SYNOPSIS π¦
__ssam_retry (request , n , args... );
π ARGUMENTS π
requestβ the request function you wanna execute. it must return an integer, that's non-negotiable bestie πnβ number of tries. how many attempts we're giving this thing.argsβ the arguments you're passing along to the request function.
πΈ DESCRIPTION πΈ
so what it does is literally just executes the given request function β like, it calls request. that's it. that's the start.
but here's the main character energy β¨: if the request comes back with -EREMOTEIO (that's the "I/O error" one, yikes) or -ETIMEDOUT (the request or the underlying packet timed out, rude), then request gets re-executed again. and it keeps going up to n times in total β so n is your whole budget, not extra tries on top. iykyk π
like, it's giving "you miss 100% of the shots you don't take, but also you only get n shots." π
β RETURN β
returns the return value of the last execution of request. so whatever the final attempt gave you β that's what you're getting. no retries left, no take-backs π«Ά
π§ SEE ALSO π§
okay this list is LONG but we don't skip, we don't scroll past, we respect the whole family tree π
Kernel file ./include/linux/surface_aggregator/controller.h
then, in order, bestie:
enum ssam_event_flags(9)struct ssam_event(9)enum ssam_request_flags(9)struct ssam_request(9)struct ssam_response(9)struct ssam_request_sync(9)ssam_request_sync_set_data(9)ssam_request_sync_set_resp(9)ssam_request_sync_wait(9)ssam_request_do_sync_onstack(9)ssam_retry(9)struct ssam_request_spec(9)struct ssam_request_spec_md(9)SSAM_DEFINE_SYNC_REQUEST_N(9)SSAM_DEFINE_SYNC_REQUEST_W(9)SSAM_DEFINE_SYNC_REQUEST_R(9)SSAM_DEFINE_SYNC_REQUEST_WR(9)SSAM_DEFINE_SYNC_REQUEST_MD_N(9)SSAM_DEFINE_SYNC_REQUEST_MD_W(9)SSAM_DEFINE_SYNC_REQUEST_MD_R(9)SSAM_DEFINE_SYNC_REQUEST_MD_WR(9)enum ssam_notif_flags(9)struct ssam_notifier_block(9)ssam_notifier_from_errno(9)ssam_notifier_to_errno(9)struct ssam_event_registry(9)struct ssam_event_id(9)enum ssam_event_mask(9)SSAM_EVENT_REGISTRY(9)enum ssam_event_notifier_flags(9)struct ssam_event_notifier(9)ssam_notifier_unregister(9)
and that's the page!! π this lil beauty comes to you from ./include/linux/surface_aggreg... and it's dated October 2026, filed under __ssam_retry(9) β mwah, slay, go retry some requests responsibly ππ₯π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms