From 33c9da5dfb18c2ff5a88d01aca2cf253cd0ac3bc Mon Sep 17 00:00:00 2001 From: Tiwei Bie Date: Sun, 16 Mar 2025 00:19:08 +0800 Subject: um: Rewrite the sigio workaround based on epoll and tgkill The existing sigio workaround implementation removes FDs from the poll when events are triggered, requiring users to re-add them via add_sigio_fd() after processing. This introduces a potential race condition between FD removal in write_sigio_thread() and next_poll update in __add_sigio_fd(), and is inefficient due to frequent FD removal and re-addition. Rewrite the implementation based on epoll and tgkill for improved efficiency and reliability. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20250315161910.4082396-2-tiwei.btw@antgroup.com Signed-off-by: Johannes Berg --- arch/um/include/shared/os.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/um/include/shared/os.h') diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h index d0ae42911cb5..152a60080d5b 100644 --- a/arch/um/include/shared/os.h +++ b/arch/um/include/shared/os.h @@ -314,7 +314,7 @@ extern void um_irqs_resume(void); extern int add_sigio_fd(int fd); extern int ignore_sigio_fd(int fd); extern void maybe_sigio_broken(int fd); -extern void sigio_broken(int fd); +extern void sigio_broken(void); /* * unlocked versions for IRQ controller code. * -- cgit v1.2.3