struct plug_sched_data { /* If true, the dequeue function releases all packets *fromheadtoendofthequeue.Thequeueturnsinto *apass-throughqueuefornewlyarrivingpackets.
*/ bool unplug_indefinite;
bool throttled;
/* Queue Limit in bytes */
u32 limit;
/* Number of packets (output) from the current speculatively *executingepoch.
*/
u32 pkts_current_epoch;
/* Number of packets corresponding to the recently finished *epoch.Thesewillbereleasedwhenwereceivea *TCQ_PLUG_RELEASE_ONEcommand.Thiscommandistypically *issuedaftercommittingacheckpointatthetarget.
*/
u32 pkts_last_epoch;
if (!q->unplug_indefinite) { if (!q->pkts_to_release) { /* No more packets to dequeue. Block the queue *andwaitforthenextreleasecommand.
*/
q->throttled = true; return NULL;
}
q->pkts_to_release--;
}
staticvoid __exit plug_module_exit(void)
{
unregister_qdisc(&plug_qdisc_ops);
}
module_init(plug_module_init)
module_exit(plug_module_exit)
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Qdisc to plug and unplug traffic via netlink control");
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.