[PATCH-RFC 0/2] eventfd: new EFD_STATE flag

From: Michael S. Tsirkin
Date: Tue Jul 28 2009 - 13:55:45 EST


Davide, all,

This RFC series implements a new EFD_STATE flag for eventfd.
When set, this changes eventfd behaviour in the following way:
- write simply stores the value written, and is always non-blocking
- read unblocks when the value written changes, and
returns the value written

Motivation: we'd like to use eventfd in qemu to pass interrupts from
(emulated or assigned) devices to guest. For level interrupts, the
counter supported currently by eventfd is not a good match: we really
need to set interrupt to a level, typically 0 or 1, wake the guest if
there was a change and and give the guest ability to see the last value
written.

Does extending eventfd in this way make sense? Please comment.

Michael S. Tsirkin (2):
eventfd: reorganize the code to simplify new flags
eventfd: EFD_STATE flag

fs/eventfd.c | 83 +++++++++++++++++++++++++++++++++++++++--------
include/linux/eventfd.h | 3 +-
2 files changed, 71 insertions(+), 15 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/