This commit is contained in:
Hannes Mehnert 2023-11-28 22:26:50 +01:00
parent ca196709ce
commit 45441f9924

View file

@ -39,7 +39,7 @@ Now, after switching over to µTCP, graphed below, there's much fewer network ut
Investigating the involved parts showed that a TCP connection that was never established has been registered at the MirageOS layer, but the pure core does not expose an event from the received RST that the connection has been cancelled. This means the MirageOS layer piles up all the connection attempts, and doesn't inform the application that the connection couldn't be established. Once this was well understood, developing the [required code changes](https://github.com/robur-coop/utcp/commit/67fc49468e6b75b96a481ebe44dd11ce4bb76e6c) was straightforward. The graph shows that the fix was deployed at 15:25. The memory usage is constant afterwards, but the network utilization increased enormously.
[<img src="/static/img/a.ns.utcp-utcp.png" width="750" />](/static/img/a.ns.utcp-utcp.png)
[<img src="/static/img/a.ns.utcp-ev.png" width="750" />](/static/img/a.ns.utcp-ev.png)
Now, the network utilization is unwanted. This was hidden by the application waiting forever that the TCP connection getting established. Our bugfix uncovered another issue, a tight loop:
- the nameserver attempts to connect to the other nameserver (`request`);