Skip to content

Commit

Permalink
freezer: convert freezable helpers to static inline where possible
Browse files Browse the repository at this point in the history
Some of the freezable helpers have to be macros because their
condition argument needs to get evaluated every time through
the wait loop.  Convert the others to static inline to make
future changes easier.

Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Colin Cross authored and Rafael J. Wysocki committed May 12, 2013
1 parent b012358 commit 8ee492d
Showing 1 changed file with 29 additions and 29 deletions.
58 changes: 29 additions & 29 deletions include/linux/freezer.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,46 +159,46 @@ static inline bool freezer_should_skip(struct task_struct *p)
}

/*
* These macros are intended to be used whenever you want allow a sleeping
* These functions are intended to be used whenever you want allow a sleeping
* task to be frozen. Note that neither return any clear indication of
* whether a freeze event happened while in this function.
*/

/* Like schedule(), but should not block the freezer. */
#define freezable_schedule() \
({ \
freezer_do_not_count(); \
schedule(); \
freezer_count(); \
})
static inline void freezable_schedule(void)
{
freezer_do_not_count();
schedule();
freezer_count();
}

/* DO NOT ADD ANY NEW CALLERS OF THIS FUNCTION */
#define freezable_schedule_unsafe() \
({ \
freezer_do_not_count(); \
schedule(); \
freezer_count_unsafe(); \
})
static inline void freezable_schedule_unsafe(void)
{
freezer_do_not_count();
schedule();
freezer_count_unsafe();
}

/* Like schedule_timeout_killable(), but should not block the freezer. */
#define freezable_schedule_timeout_killable(timeout) \
({ \
long __retval; \
freezer_do_not_count(); \
__retval = schedule_timeout_killable(timeout); \
freezer_count(); \
__retval; \
})
static inline long freezable_schedule_timeout_killable(long timeout)
{
long __retval;
freezer_do_not_count();
__retval = schedule_timeout_killable(timeout);
freezer_count();
return __retval;
}

/* DO NOT ADD ANY NEW CALLERS OF THIS FUNCTION */
#define freezable_schedule_timeout_killable_unsafe(timeout) \
({ \
long __retval; \
freezer_do_not_count(); \
__retval = schedule_timeout_killable(timeout); \
freezer_count_unsafe(); \
__retval; \
})
static inline long freezable_schedule_timeout_killable_unsafe(long timeout)
{
long __retval;
freezer_do_not_count();
__retval = schedule_timeout_killable(timeout);
freezer_count_unsafe();
return __retval;
}

/*
* Freezer-friendly wrappers around wait_event_interruptible(),
Expand Down

0 comments on commit 8ee492d

Please sign in to comment.