TBF assigns one token per RPC regardless of the RPC's resource footprint. A 4 MiB bulk write and a 4 KiB read consume identical tokens despite a 1000x difference in bandwidth. This makes rate limits unpredictable in terms of actual resource consumption.
Add page-weighted token accounting: for I/O RPCs (OST_READ, OST_WRITE), token cost equals the number of pages in the request (sum of rnb_len / PAGE_SIZE across all niobuf_remote entries). For non-I/O RPCs, cost remains 1.
The cost model is inferred from the rate format Bandwidth suffixes on rate= and minrate= (e.g. rate=4G for 4 GiB/s) select page-weighted accounting; the kernel converts to pages/s by dividing by PAGE_SIZE. Plain integers select the default rpcs model. Mixed formats (one with suffix, one without) are rejected.