History

sched: Add get_current_state()

Remove yet another few p->state accesses.

Peter Zijlstra committed 5 years ago

Commit d6c23bb1 parent 3ba9f934 files · +7 −5Browse files

Showing the changes to kernel (2 of 4 files). Show all

Unified · Split

2 files
  1. kernel/freezer.c +1 −1
  2. kernel/sched/core.c +3 −3
kernel/freezer.c+1−1
@@ -58,7 +58,7 @@ bool __refrigerator(bool check_kthr_stop) · 57 unmodified lines
58 /* Hmm, should we be allowed to suspend when there are realtime58 /* Hmm, should we be allowed to suspend when there are realtime
59 processes around? */59 processes around? */
60 bool was_frozen = false;60 bool was_frozen = false;
61 long save = current->state;61 unsigned int save = get_current_state();
62 62
63 pr_debug("%s entered refrigerator\n", current->comm);63 pr_debug("%s entered refrigerator\n", current->comm);
64 64
kernel/sched/core.c+3−3
@@ -9098,15 +9098,15 @@ static inline int preempt_count_equals(int preempt_offset) · 9097 unmodified lines
9098 9098
9099void __might_sleep(const char *file, int line, int preempt_offset)9099void __might_sleep(const char *file, int line, int preempt_offset)
9100{9100{
9101 unsigned int state = get_current_state();
9101 /*9102 /*
9102 * Blocking primitives will set (and therefore destroy) current->state,9103 * Blocking primitives will set (and therefore destroy) current->state,
9103 * since we will exit with TASK_RUNNING make sure we enter with it,9104 * since we will exit with TASK_RUNNING make sure we enter with it,
9104 * otherwise we will destroy state.9105 * otherwise we will destroy state.
9105 */9106 */
9106 WARN_ONCE(current->state != TASK_RUNNING && current->task_state_change,9107 WARN_ONCE(state != TASK_RUNNING && current->task_state_change,
9107 "do not call blocking ops when !TASK_RUNNING; "9108 "do not call blocking ops when !TASK_RUNNING; "
9108 "state=%lx set at [<%p>] %pS\n",9109 "state=%x set at [<%p>] %pS\n", state,
9109 current->state,
9110 (void *)current->task_state_change,9110 (void *)current->task_state_change,
9111 (void *)current->task_state_change);9111 (void *)current->task_state_change);
9112 9112

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t