diff options
author | ambrisko <ambrisko@FreeBSD.org> | 2005-10-12 17:51:31 +0000 |
---|---|---|
committer | ambrisko <ambrisko@FreeBSD.org> | 2005-10-12 17:51:31 +0000 |
commit | e3a46811b797130bb11edec29755641528791d6b (patch) | |
tree | 75edf3632319de1bc0b81f2f6e11dddc75311bef /sys/sys/event.h | |
parent | cc00d5c930cf41bb127fca3f4ec149a43a597024 (diff) | |
download | FreeBSD-src-e3a46811b797130bb11edec29755641528791d6b.zip FreeBSD-src-e3a46811b797130bb11edec29755641528791d6b.tar.gz |
Add in kqueue support to LIO event notification and fix how it handled
notifications when LIO operations completed. These were the problems
with LIO event complete notification:
- Move all LIO/AIO event notification into one general function
so we don't have bugs in different data paths. This unification
got rid of several notification bugs one of which if kqueue was
used a SIGILL could get sent to the process.
- Change the LIO event accounting to count all AIO request that
could have been split across the fast path and daemon mode.
The prior accounting only kept track of AIO op's in that
mode and not the entire list of operations. This could cause
a bogus LIO event complete notification to occur when all of
the fast path AIO op's completed and not the AIO op's that
ended up queued for the daemon.
Suggestions from: alc
Diffstat (limited to 'sys/sys/event.h')
-rw-r--r-- | sys/sys/event.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sys/event.h b/sys/sys/event.h index c2921c4..ed4a613 100644 --- a/sys/sys/event.h +++ b/sys/sys/event.h @@ -38,8 +38,8 @@ #define EVFILT_TIMER (-7) /* timers */ #define EVFILT_NETDEV (-8) /* network devices */ #define EVFILT_FS (-9) /* filesystem events */ - -#define EVFILT_SYSCOUNT 9 +#define EVFILT_LIO (-10) /* timers */ +#define EVFILT_SYSCOUNT 10 #define EV_SET(kevp_, a, b, c, d, e, f) do { \ struct kevent *kevp = (kevp_); \ |