Skip to content

arm64: Only call into preempt_schedule() if need_resched()

Will Deacon linux-arm-kernel lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 3 repliesIn review
  2. v12 patches 6 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2preempt: Move PREEMPT_NEED_RESCHED definition into arch codearch/s390/include/asm/preempt.h arch/x86/include/asm/preempt.h include/linux/preempt.h+5 -30 replies
2/2arm64: preempt: Provide our own implementation of asm/preempt.harch/arm64/include/asm/Kbuild arch/arm64/include/asm/preempt.h arch/arm64/include/asm/thread_info.h+100 -21 reply

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchArd BiesheuvelPeter Zijlstra (Intel)
SeriesA-b
1/2
2/2R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] arm64: Only call into preempt_schedule() if need_resched()

Hi all,

This is version two of the patches I originally posted here:

http://lkml.kernel.org/r/[email protected]

The only change since v1 is that __preempt_count_dec_and_test() now reloads the need_resched flag if it initially saw that it was set. This resolves the issue spotted by Peter, where an IRQ coming in during the decrement can cause a reschedule to be missed.

Feedback welcome.

Will

--->8

Will Deacon (2):
preempt: Move PREEMPT_NEED_RESCHED definition into arch code
arm64: preempt: Provide our own implementation of asm/preempt.h

 arch/arm64/include/asm/Kbuild        |  1 -
 arch/arm64/include/asm/preempt.h     | 88 ++++++++++++++++++++++++++++++++++++
 arch/arm64/include/asm/thread_info.h | 13 +++++-
 arch/s390/include/asm/preempt.h      |  2 +
 arch/x86/include/asm/preempt.h       |  3 ++
 include/linux/preempt.h              |  3 --
 6 files changed, 105 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm64/include/asm/preempt.h
Signature · 1 line
2.1.4