Langsung ke konten

Arsip

Eventfd

2 artikel
Linux 22 Sep 2026 4 min read

EFD_SEMAPHORE Membuat Read eventfd Mengonsumsi Satu Unit Counter

eventfd normal mengubah seluruh counter yang bernilai nonzero menjadi satu hasil read lalu mereset counter ke nol. Saat dibuat dengan EFD_SEMAPHORE, hanya sisi read yang berubah: setiap read yang berhasil mengembalikan nilai 64-bit 1 dan mengurangi counter yang dikelola kernel sebanyak satu. Perbedaan ini membuat beberapa unit yang dikumpulkan writer tetap dapat dikonsumsi secara terpisah. Objeknya tetap sebuah eventfd, dengan counter, aturan write, lifetime descriptor, dan integrasi readiness yang sama.

Linux 18 Sep 2026 4 min read

eventfd Mengagregasi Notifikasi dalam Counter Kernel

Sebuah eventfd dapat menyerap beberapa write notifikasi sebelum userspace melayani descriptor. Kernel menyimpan write tersebut dalam counter 64-bit, sehingga readiness merepresentasikan state counter yang tertunda, bukan antrean dengan satu record untuk setiap notifikasi. Perbedaan ini penting di event loop. Producer dapat menambah nilai saat consumer sedang sibuk, lalu read berikutnya dapat melebur state yang terakumulasi menjadi satu hasil. Dengan EFD_SEMAPHORE, objek yang sama menyediakan aturan konsumsi berbeda tanpa mengubah model readiness-nya.