|
|
Subscribe / Log in / New account

GDB and io_uring

GDB and io_uring

Posted Mar 31, 2021 20:29 UTC (Wed) by comex (subscriber, #71521)
Parent article: GDB and io_uring

Suppose that userland has enqueued a large number of operations into the io_uring queue, and you send SIGSTOP to the process.

Presumably it won't freeze any operations that have already been dequeued and are in progress. But with this change in place, will the kernel eventually stop dequeueing *new* operations? Or will it just ignore the signal?


to post comments

GDB and io_uring

Posted Mar 31, 2021 20:55 UTC (Wed) by andresfreund (subscriber, #69562) [Link]

It's my understanding that the signals effectively just are ignored. The article says that signals are processed at the userspace boundary - which these threads never reach....

GDB and io_uring

Posted Mar 31, 2021 22:02 UTC (Wed) by ebiederm (subscriber, #35028) [Link]

The I/O worker when it reaches the top level of it's loops and processes signals it will join in the stop of the entire process.

No additional work will be dequeued.

Signals with signal handlers must be processed by modifying the userspace process to execute the handlers.

STOP signals and fatal signals without handlers (such as SIGKILL and SIGSTOP) are processed without
returning to userspace. So the io workers can and do process then whenever they check for signals.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds