diff options
author | Anton Kling <anton@kling.gg> | 2024-06-26 22:02:16 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-06-26 22:02:16 +0200 |
commit | 55fef89be9eb9da8b40bfdc1cc20475421ca5554 (patch) | |
tree | 99805aeaf4d525808d042dde4f3cb66ebcd96ce0 /kernel/drivers/pit.c | |
parent | fddda835a28bbc52a8d8450395a3e57e181782a8 (diff) |
TCP: Delay ACKs to batch together packets ACKed
Diffstat (limited to 'kernel/drivers/pit.c')
-rw-r--r-- | kernel/drivers/pit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c index 80f55aa..db9cd2a 100644 --- a/kernel/drivers/pit.c +++ b/kernel/drivers/pit.c @@ -43,10 +43,16 @@ void set_pit_count(u16 _hertz) { outb(PIT_IO_CHANNEL_0, (divisor & 0xFF00) >> 8); } +int last_flush = 0; + extern int is_switching_tasks; void int_clock(reg_t *regs) { clock_num_ms_ticks += 5; switch_counter++; + if (clock_num_ms_ticks - last_flush > 50) { + tcp_flush_acks(); + last_flush = clock_num_ms_ticks; + } if (switch_counter >= hertz) { EOI(0x20); switch_counter = 0; |