Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/altq



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.




Home | Main Index | Thread Index | Old Index