summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a47ca28)
Signed-off-by: Pierre Habouzit <pierre.habouzit@intersec.com>
+ cd kernel && $(MAKE) $(filter-out all,$@)
$(MAKE) -C lib $@
$(MAKE) -C test $@
$(MAKE) -C lib $@
$(MAKE) -C test $@
} else {
__pwqr_sb_update_state(sb, 0);
}
} else {
__pwqr_sb_update_state(sb, 0);
}
+ pwqt->notifier.ops = &pwqr_preempt_noop_ops;
pwqr_sb_unlock_irqrestore(sb, flags);
pwqr_sb_put(sb);
pwqt->sb = NULL;
pwqr_sb_unlock_irqrestore(sb, flags);
pwqr_sb_put(sb);
pwqt->sb = NULL;
hlist_del(&pwqt->link);
spin_unlock(&b->lock);
#endif
hlist_del(&pwqt->link);
spin_unlock(&b->lock);
#endif
- pwqt->notifier.ops = &pwqr_preempt_noop_ops;
if (from_notifier) {
/* When called from sched_{out,in}, it's not allowed to
if (from_notifier) {
/* When called from sched_{out,in}, it's not allowed to
}
static void pwqr_task_noop_sched_out(struct preempt_notifier *notifier,
}
static void pwqr_task_noop_sched_out(struct preempt_notifier *notifier,
- struct task_struct *next)
+ struct task_struct *next)
if (unlikely(sb->state < 0)) {
pwqr_task_detach(pwqt, sb);
if (unlikely(sb->state < 0)) {
pwqr_task_detach(pwqt, sb);
- pwqr_task_release(pwqt, true);
if (unlikely(p->state & TASK_DEAD) || unlikely(sb->state < 0)) {
pwqr_task_detach(pwqt, sb);
if (unlikely(p->state & TASK_DEAD) || unlikely(sb->state < 0)) {
pwqr_task_detach(pwqt, sb);
- pwqr_task_release(pwqt, true);
+ if (p->state & TASK_DEAD)
+ pwqr_task_release(pwqt, true);
return;
}
if (p->state == 0 || (p->state & (__TASK_STOPPED | __TASK_TRACED)))
return;
}
if (p->state == 0 || (p->state & (__TASK_STOPPED | __TASK_TRACED)))