Skip to main content

poll_ethernet_data_plane_only

Function poll_ethernet_data_plane_only 

Source
pub fn poll_ethernet_data_plane_only()
Expand description

§実測(2026-08-05、sugi-lab.net の 3.7MB JPEG 取得中)

fetch=4631tick  eth_calls=311  eth_ticks=282  eth_lockmiss=219
  • この関数の内側で使っている時間は取得時間の 6%(282/4631)。 受信処理そのものは重くない。
  • 呼び出しが成立したのは 46 秒間で 311 回(≒150ms に 1 回)。 net_service_threadsleep(10)(100ms)より疎い。
  • 差の原因は USB_LOCK で、試行 530 回中 219 回(41%)が ロックを取れずに諦めている(Core 1 の HID ポーリングと競合)。

つまり律速は「受信処理の重さ」でも「眠る間隔」でもなく、 ロック競合で受信の番が回ってこないこと

計算量: 1 回の呼び出しは O(F)(F は回収フレーム数、上限 8)。