The recursion protection for eventfd_signal() is based on a per CPU variable and relies on the !RT semantics of spin_lock_irqsave() for protecting this per CPU variable. On RT kernels spin_lock_irqsave() neither disables preemption nor interrupts which allows the spin lock held section to...
staralt changed the title The eventfd_signal function in TrueNAS kernel 6.6 is outdated (Issue #2) The eventfd_signal function in TrueNAS kernel 6.6 is outdated Aug 23, 2024 staralt changed the title The eventfd_signal function in TrueNAS kernel 6.6 is outdated The eventfd_signal function in...
+ * an eventfd() fd, and will be signaled for each completed + * event using the eventfd_signal() function. + */ + req->ki_eventfd = eventfd_fget((int) iocb->aio_resfd); + if (unlikely(IS_ERR(req->ki_eventfd))) { + ret = PTR_ERR(req->ki_eventfd); + goto out_put_req...
If EFD_SEMAPHORE was specified and the eventfd counter has a nonzero value, then a read(2) returns 8 bytes containing the value 1, and the counter's value is decremented by 1. If the eventfd counter is zero at the time of the call to read(2), then the call either blocks until the...