diff options
| author | Hillf Danton <hdanton@sina.com> | 2019-05-14 04:34:19 -0400 |
|---|---|---|
| committer | Will Deacon <will.deacon@arm.com> | 2019-05-14 05:52:45 -0400 |
| commit | 0e4add4ae79e4466ae2a7e7772dfbe39fb28787a (patch) | |
| tree | 7766b653df32ddaa3c6a821d8b3e22f3ab2bf462 | |
| parent | 14ae42a6f0b13130a97d94d23481128961de5d38 (diff) | |
arm64: assembler: Update comment above cond_yield_neon() macro
Since commit 7faa313f05ca ("arm64: preempt: Fix big-endian when checking
preempt count in assembly") both the preempt count and the 'need_resched'
flag are checked as part of a single 64-bit load in cond_yield_neon(),
so update the stale comment to reflect reality.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Hillf Danton <hdanton@sina.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
| -rw-r--r-- | arch/arm64/include/asm/assembler.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h index 039fbd822ec6..92b6b7cf67dd 100644 --- a/arch/arm64/include/asm/assembler.h +++ b/arch/arm64/include/asm/assembler.h | |||
| @@ -718,12 +718,11 @@ USER(\label, ic ivau, \tmp2) // invalidate I line PoU | |||
| 718 | * the output section, any use of such directives is undefined. | 718 | * the output section, any use of such directives is undefined. |
| 719 | * | 719 | * |
| 720 | * The yield itself consists of the following: | 720 | * The yield itself consists of the following: |
| 721 | * - Check whether the preempt count is exactly 1, in which case disabling | 721 | * - Check whether the preempt count is exactly 1 and a reschedule is also |
| 722 | * preemption once will make the task preemptible. If this is not the case, | 722 | * needed. If so, calling of preempt_enable() in kernel_neon_end() will |
| 723 | * yielding is pointless. | 723 | * trigger a reschedule. If it is not the case, yielding is pointless. |
| 724 | * - Check whether TIF_NEED_RESCHED is set, and if so, disable and re-enable | 724 | * - Disable and re-enable kernel mode NEON, and branch to the yield fixup |
| 725 | * kernel mode NEON (which will trigger a reschedule), and branch to the | 725 | * code. |
| 726 | * yield fixup code. | ||
| 727 | * | 726 | * |
| 728 | * This macro sequence may clobber all CPU state that is not guaranteed by the | 727 | * This macro sequence may clobber all CPU state that is not guaranteed by the |
| 729 | * AAPCS to be preserved across an ordinary function call. | 728 | * AAPCS to be preserved across an ordinary function call. |
