Skip to content

Commit b5f4634

Browse files
committed
s390: Support PREEMPT_DYNAMIC
Select HAVE_PREEMPT_DYNAMIC_KEY and add the pieces which are required to support PREEMPT_DYNAMIC. See commit 99cf983 ("sched/preempt: Add PREEMPT_DYNAMIC using static keys") and commit 1b2d345 ("arm64: Support PREEMPT_DYNAMIC") for more details. Signed-off-by: Heiko Carstens <[email protected]>
1 parent c4a585e commit b5f4634

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

arch/s390/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ config S390
219219
select HAVE_PERF_EVENTS
220220
select HAVE_PERF_REGS
221221
select HAVE_PERF_USER_STACK_DUMP
222+
select HAVE_PREEMPT_DYNAMIC_KEY
222223
select HAVE_REGS_AND_STACK_ACCESS_API
223224
select HAVE_RELIABLE_STACKTRACE
224225
select HAVE_RETHOOK

arch/s390/include/asm/preempt.h

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,24 @@ static __always_inline bool should_resched(int preempt_offset)
130130
#define init_idle_preempt_count(p, cpu) do { } while (0)
131131

132132
#ifdef CONFIG_PREEMPTION
133-
extern void preempt_schedule(void);
134-
#define __preempt_schedule() preempt_schedule()
135-
extern void preempt_schedule_notrace(void);
136-
#define __preempt_schedule_notrace() preempt_schedule_notrace()
133+
134+
void preempt_schedule(void);
135+
void preempt_schedule_notrace(void);
136+
137+
#ifdef CONFIG_PREEMPT_DYNAMIC
138+
139+
void dynamic_preempt_schedule(void);
140+
void dynamic_preempt_schedule_notrace(void);
141+
#define __preempt_schedule() dynamic_preempt_schedule()
142+
#define __preempt_schedule_notrace() dynamic_preempt_schedule_notrace()
143+
144+
#else /* CONFIG_PREEMPT_DYNAMIC */
145+
146+
#define __preempt_schedule() preempt_schedule()
147+
#define __preempt_schedule_notrace() preempt_schedule_notrace()
148+
149+
#endif /* CONFIG_PREEMPT_DYNAMIC */
150+
137151
#endif /* CONFIG_PREEMPTION */
138152

139153
#endif /* __ASM_PREEMPT_H */

0 commit comments

Comments
 (0)