History log of /freebsd-10-stable/sys/sys/callout.h
Revision Date Author Comments
# 337034 01-Aug-2018 hselasky

MFC r330349 and r330362:

Allow pause_sbt() to catch signals during sleep by passing C_CATCH flag.
Define pause_sig() function macro helper similarly to other kernel functions
which catch signals. Update outdated function description.

Document pause_sig(9) and update prototypes for existing pause(9) and
pause_sbt(9) functions.

Discussed with: kib@
Suggested by: cem@
Sponsored by: Mellanox Technologies


# 314667 04-Mar-2017 avg

MFC r283291: don't use CALLOUT_MPSAFE with callout_init()

The main purpose of this MFC is to reduce conflicts for other merges.
Parts of the original change have already "trickled down" via individual MFCs.


# 304900 27-Aug-2016 kib

MFC r303425:
Add callout_when(9).

MFC r303919:
Fix indentation.


# 296896 15-Mar-2016 kib

MFC r296320:
Adjust _callout_stop_safe() return value for the subr_sleepqueue.c needs
when migrating callout was blocked, but running one was not.

PR: 200992


# 281657 17-Apr-2015 rrs

MFC of r280785, r280871, r280872, r281510, r218511 - callout fixes.
Sponsored by: Netflix Inc.


# 278800 15-Feb-2015 rrs

MFC of r278469, r278623

278469:
This fixes two conditions that can incur when migration
is being done in the callout code and harmonizes the macro
use.:
1) The callout_active() will lie. Basically if a migration
is occuring and the callout is about to expire and the
migration has been deferred, the callout_active will no
longer return true until after the migration. This confuses
and breaks callers that are doing callout_init(&c, 1); such
as TCP.
2) The migration code had a bug in it where when migrating, if
a two calls to callout_reset came in and they both collided with
the callout on the wheel about to run, then the second call to
callout_reset would corrupt the list the callout wheel uses
putting the callout thread into a endless loop.
3) Per imp, I have fixed all the macro occurance in the code that
were for the most part being ignored.

278623:

This fixes a bug I in-advertantly inserted when I updated the callout
code in my last commit. The cc_exec_next is used to track the next
when a direct call is being made from callout. It is *never* used
in the in-direct method. When macro-izing I made it so that it
would separate out direct/vs/non-direct. This is incorrect and can
cause panics as Peter Holm has found for me (Thanks so much Peter for
all your help in this). What this change does is restore that behavior
but also get rid of the cc_next from the array and instead make it
be part of the base callout structure. This way no one else will get
confused since we will never use it for non-direct.

Sponsored by: Netflix Inc.


# 275611 08-Dec-2014 avg

MFC r275046: whitespace and cosmetic changes in callout_reset family of macros

Not applicable to earlier releases.


# 275610 08-Dec-2014 avg

MFC r275045: callout(9): add sbt flavors of callout_schedule

Not applicable to earlier releases.


# 271065 03-Sep-2014 gavin

Merge r270259 from head:

Add a missing brace to callout_init_rm() to fix syntax.


# 281657 17-Apr-2015 rrs

MFC of r280785, r280871, r280872, r281510, r218511 - callout fixes.
Sponsored by: Netflix Inc.


# 278800 15-Feb-2015 rrs

MFC of r278469, r278623

278469:
This fixes two conditions that can incur when migration
is being done in the callout code and harmonizes the macro
use.:
1) The callout_active() will lie. Basically if a migration
is occuring and the callout is about to expire and the
migration has been deferred, the callout_active will no
longer return true until after the migration. This confuses
and breaks callers that are doing callout_init(&c, 1); such
as TCP.
2) The migration code had a bug in it where when migrating, if
a two calls to callout_reset came in and they both collided with
the callout on the wheel about to run, then the second call to
callout_reset would corrupt the list the callout wheel uses
putting the callout thread into a endless loop.
3) Per imp, I have fixed all the macro occurance in the code that
were for the most part being ignored.

278623:

This fixes a bug I in-advertantly inserted when I updated the callout
code in my last commit. The cc_exec_next is used to track the next
when a direct call is being made from callout. It is *never* used
in the in-direct method. When macro-izing I made it so that it
would separate out direct/vs/non-direct. This is incorrect and can
cause panics as Peter Holm has found for me (Thanks so much Peter for
all your help in this). What this change does is restore that behavior
but also get rid of the cc_next from the array and instead make it
be part of the base callout structure. This way no one else will get
confused since we will never use it for non-direct.

Sponsored by: Netflix Inc.


# 275611 08-Dec-2014 avg

MFC r275046: whitespace and cosmetic changes in callout_reset family of macros

Not applicable to earlier releases.


# 275610 08-Dec-2014 avg

MFC r275045: callout(9): add sbt flavors of callout_schedule

Not applicable to earlier releases.


# 271065 03-Sep-2014 gavin

Merge r270259 from head:

Add a missing brace to callout_init_rm() to fix syntax.