On 07/08/2025 12:13, Samuel Thibault wrote:
Michael Kelly, le jeu. 07 août 2025 12:09:46 +0100, a ecrit:I had spent some time building a new test bed with the latest hurd code using rumpdisk only to find that swapping fails very quickly using this setup. I've not investigated precisely why yet but that seems to me an important area to investigate and fix.Yes, I mentioned it previously in other threads. Apparently vm_wire_all does not manage to capture all cases.
I wasn't aware of the other threads but that it very useful information, thanks.
TLS code is really difficult to debug indeed. But I'd doubt that's the issue, as it is largely used for many other cases, and the code is actually very trivial: just reading/writing %gs:0x38. And it's probably very easy for calls to __mig_get_reply_port() / __mig_dealloc_reply_port () to get wrong with mismatched cleanup code, e.g. port = __mig_get_reply_port() __mig_dealloc_reply_port(port); port2 = __mig_get_reply_port() __mig_dealloc_reply_port(port);
I do hope that you are right although I hadn't expected mismatches from generated code.
Regards, Mike.