Home
last modified time | relevance | path

Searched hist:"0 c9af09262864a2744091ee94c98c4a8fd60c98b" (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/kernel/
H A Dfreezer.cdiff 0c9af09262864a2744091ee94c98c4a8fd60c98b Mon Nov 21 14:32:24 CST 2011 Tejun Heo <tj@kernel.org> freezer: use dedicated lock instead of task_lock() + memory barrier

Freezer synchronization is needlessly complicated - it's by no means a
hot path and the priority is staying unintrusive and safe. This patch
makes it simply use a dedicated lock instead of piggy-backing on
task_lock() and playing with memory barriers.

On the failure path of try_to_freeze_tasks(), locking is moved from it
to cancel_freezing(). This makes the frozen() test racy but the race
here is a non-issue as the warning is printed for tasks which failed
to enter frozen for 20 seconds and race on PF_FROZEN at the last
moment doesn't change anything.

This simplifies freezer implementation and eases further changes
including some race fixes.

Signed-off-by: Tejun Heo <tj@kernel.org>
/openbmc/linux/kernel/power/
H A Dprocess.cdiff 0c9af09262864a2744091ee94c98c4a8fd60c98b Mon Nov 21 14:32:24 CST 2011 Tejun Heo <tj@kernel.org> freezer: use dedicated lock instead of task_lock() + memory barrier

Freezer synchronization is needlessly complicated - it's by no means a
hot path and the priority is staying unintrusive and safe. This patch
makes it simply use a dedicated lock instead of piggy-backing on
task_lock() and playing with memory barriers.

On the failure path of try_to_freeze_tasks(), locking is moved from it
to cancel_freezing(). This makes the frozen() test racy but the race
here is a non-issue as the warning is printed for tasks which failed
to enter frozen for 20 seconds and race on PF_FROZEN at the last
moment doesn't change anything.

This simplifies freezer implementation and eases further changes
including some race fixes.

Signed-off-by: Tejun Heo <tj@kernel.org>