rpmsg_trysend(9)
π rpmsg_trysend(9) β literally the "send it and don't wait" girlie of the Kernel API Manual
okay so bestie, welcome to the <rainbow>rpmsg_trysend</rainbow> page π
this is the impatient little sibling of rpmsg_send β it sends a message across to the remote processor, and if it can't? it does not wait around. iconic behaviour, honestly.
β¨ NAME β¨
rpmsg_trysend β send a message across to the remote processor π«Ά
πΈ SYNOPSIS πΈ
int rpmsg_trysend (struct rpmsg_endpoint *ept , const void *data , int
len );
that's the whole vibe. no cap. β¨
π ARGUMENTS π
eptβ the rpmsg endpoint, aka the lil connection you're sending from πdataβ payload of message, aka the actual stuff you're yeeting over there π¦lenβ length of payload, so the kernel knows how much ofdatais real and not just vibes π
π¦ DESCRIPTION π¦
so what it does: this function sends data of length len on the ept endpoint. the message will be sent to the remote processor which the ept endpoint belongs to, using ept's address as source and its associated rpdev's address as destination. like a little addressed envelope, but make it silicon πβ¨
now here's the main character trait: in case there are no TX buffers available, the function will immediately return -ENOMEM without waiting until one becomes available. highkey the whole point of this function. it does NOT queue up and wait, it does NOT hold your hand, it just says "nope, no buffers, bye" π
also, important: it can only be called from process context (for now). that "(for now)" is doing a lot of emotional labour, iykyk π
π RETURN π
0 on success and an appropriate error value on failure. that's it, that's the whole mood. β
π₯ SEE ALSO π₯
kernel file ./drivers/rpmsg/rpmsg_core.c β go read it, it's giving source of truth π
rpmsg_create_channel(9)rpmsg_release_channel(9)rpmsg_create_ept(9)rpmsg_destroy_ept(9)rpmsg_send(9)rpmsg_sendto(9)rpmsg_trysendto(9)rpmsg_poll(9)rpmsg_set_flow_control(9)rpmsg_get_mtu(9)__register_rpmsg_driver(9)unregister_rpmsg_driver(9)
the whole friend group fr fr π
and that's the page bestie π§ this one lives in ./drivers/rpmsg, dated October 2026, and it's filed right under rpmsg_trysend(9) β go forth and try to send, and if there's no buffer, at least you found out fast πβ¨
π¦ 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