Module Name: src Committed By: ozaki-r Date: Mon Jul 1 02:18:44 UTC 2024
Modified Files: src/sys/altq: altq_rmclass.c Log Message: altq, cbq: take care of borrowed classes on sleeping rmc_under_limit() determines if we can send a packet by checking that a target class (or borrowing classes) is ready to send a packet. cl->undertime_ indicates a time that the class can send packets after the time. So if cl->undertime_ has passed (i.e., now >= cl->undertime_), we can send packets through the class. The treatment is important when a required delay period is shorten than the minimum delay on the system (a tick), because in that case the delay handler is too late to wake up to send a packet in time. If there are traffic, rmc_under_limit() can save such a case. Unfortunately, the old code didn't take care of bandwidth borrowing on sleeping. So bandwidth borrowing didn't work well with high bandwidths that require short delay actions. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/altq/altq_rmclass.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.