Hi Andrew, Thanks for the review.
I re-evaluated this after your question about the backgrounding model, and I don't think this patch should move forward as-is. In the async branch, write_hugetlb_memory.sh is invoked with -l, and write_to_hugetlbfs prints DONE and then deliberately sleeps until cleanup_hugetlb_memory() sends SIGINT. Waiting for $write_pid in that path therefore blocks before cleanup runs, so my patch can deadlock instead of reporting a meaningful exit status. So I'll drop this change for now rather than push a flawed fix. While validating the test on a minimal Ubuntu VM, I did find a different, reproducible issue in the same selftest: cleanup currently depends on killall from psmisc. I sent a separate patch for that one. If there is a clearer direction for simplifying or tightening this async flow after -rc1, I'll follow up on it. Thanks, CaoRuichuang

