History log of /netbsd-current/sys/kern/sys_eventfd.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.11 19-Nov-2023 riastradh

eventfd(2): Prune dead branch.

Fallout from PR kern/57703 fix.

XXX pullup-10


# 1.10 19-Nov-2023 riastradh

eventfd(2): Omit needless micro-optimization causing PR kern/57703.

Unfortunately, owing to PR kern/57705 and PR misc/57706, it isn't
convenient to flip the xfail switch on a test for this bug. So we'll
do that separately. (But I did verify that a rumpified version of
the test postd to PR kern/57703 failed without this change, and
passed with this change.)

PR kern/57703

XXX pullup-10


Revision tags: thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
# 1.9 17-Feb-2022 thorpej

Implement eventfd_ioctl() and handle FIONBIO so that fcntl(O_NONBLOCK)
works. While here, also implement FIONREAD and FIONWRITE, and document
why we don't implement FIONSPACE.

Also implement FIONBIO and FIONREAD for in timerfd_ioctl() (for the same
reason).

PR kern/56718


# 1.8 24-Nov-2021 thorpej

Fix "restart" semantics -- restart is terminal, so don't clear the
condition when previous waiters have drained. ("restart" is a bad
name for that this function does, fwiw.)

This should address a kernel assertion failure reported by Chavdar Ivanov
on current-users.


# 1.7 27-Sep-2021 thorpej

Consistently reference kn->kn_data only within the lock perimeter in
the filtops f_event() callback.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.11 19-Nov-2023 riastradh

eventfd(2): Prune dead branch.

Fallout from PR kern/57703 fix.

XXX pullup-10


# 1.10 19-Nov-2023 riastradh

eventfd(2): Omit needless micro-optimization causing PR kern/57703.

Unfortunately, owing to PR kern/57705 and PR misc/57706, it isn't
convenient to flip the xfail switch on a test for this bug. So we'll
do that separately. (But I did verify that a rumpified version of
the test postd to PR kern/57703 failed without this change, and
passed with this change.)

PR kern/57703

XXX pullup-10


Revision tags: thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
# 1.9 17-Feb-2022 thorpej

Implement eventfd_ioctl() and handle FIONBIO so that fcntl(O_NONBLOCK)
works. While here, also implement FIONREAD and FIONWRITE, and document
why we don't implement FIONSPACE.

Also implement FIONBIO and FIONREAD for in timerfd_ioctl() (for the same
reason).

PR kern/56718


# 1.8 24-Nov-2021 thorpej

Fix "restart" semantics -- restart is terminal, so don't clear the
condition when previous waiters have drained. ("restart" is a bad
name for that this function does, fwiw.)

This should address a kernel assertion failure reported by Chavdar Ivanov
on current-users.


# 1.7 27-Sep-2021 thorpej

Consistently reference kn->kn_data only within the lock perimeter in
the filtops f_event() callback.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.9 17-Feb-2022 thorpej

Implement eventfd_ioctl() and handle FIONBIO so that fcntl(O_NONBLOCK)
works. While here, also implement FIONREAD and FIONWRITE, and document
why we don't implement FIONSPACE.

Also implement FIONBIO and FIONREAD for in timerfd_ioctl() (for the same
reason).

PR kern/56718


# 1.8 24-Nov-2021 thorpej

Fix "restart" semantics -- restart is terminal, so don't clear the
condition when previous waiters have drained. ("restart" is a bad
name for that this function does, fwiw.)

This should address a kernel assertion failure reported by Chavdar Ivanov
on current-users.


# 1.7 27-Sep-2021 thorpej

Consistently reference kn->kn_data only within the lock perimeter in
the filtops f_event() callback.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.8 24-Nov-2021 thorpej

Fix "restart" semantics -- restart is terminal, so don't clear the
condition when previous waiters have drained. ("restart" is a bad
name for that this function does, fwiw.)

This should address a kernel assertion failure reported by Chavdar Ivanov
on current-users.


# 1.7 27-Sep-2021 thorpej

Consistently reference kn->kn_data only within the lock perimeter in
the filtops f_event() callback.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.7 27-Sep-2021 thorpej

Consistently reference kn->kn_data only within the lock perimeter in
the filtops f_event() callback.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.6 26-Sep-2021 thorpej

eventfd and timerfd have MPSAFE kq filterops.


# 1.5 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.


# 1.4 20-Sep-2021 thorpej

eventfd_destroy(): Add missing kmem_free().


# 1.3 20-Sep-2021 skrll

KNF, i.e. #include <sys/param.h> then #include <sys/types.h>

Fixes builds


# 1.2 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
# 1.1 14-Dec-2020 thorpej

branches: 1.1.2;
file sys_eventfd.c was initially added on branch thorpej-futex.