| /linux-6.15/arch/arm64/include/asm/ |
| H A D | preempt.h | 13 return READ_ONCE(current_thread_info()->preempt.count); in preempt_count() 19 WRITE_ONCE(current_thread_info()->preempt.count, pc); in preempt_count_set() 32 current_thread_info()->preempt.need_resched = 0; in set_preempt_need_resched() 37 current_thread_info()->preempt.need_resched = 1; in clear_preempt_need_resched() 42 return !current_thread_info()->preempt.need_resched; in test_preempt_need_resched() 47 u32 pc = READ_ONCE(current_thread_info()->preempt.count); in __preempt_count_add() 49 WRITE_ONCE(current_thread_info()->preempt.count, pc); in __preempt_count_add() 54 u32 pc = READ_ONCE(current_thread_info()->preempt.count); in __preempt_count_sub() 56 WRITE_ONCE(current_thread_info()->preempt.count, pc); in __preempt_count_sub() 65 WRITE_ONCE(ti->preempt.count, --pc); in __preempt_count_dec_and_test()
|
| /linux-6.15/init/ |
| H A D | Makefile | 28 preempt-flag-$(CONFIG_PREEMPT_BUILD) := PREEMPT 29 preempt-flag-$(CONFIG_PREEMPT_DYNAMIC) := PREEMPT_DYNAMIC 30 preempt-flag-$(CONFIG_PREEMPT_RT) := PREEMPT_RT 37 …utsver=$$(echo '$(pound)'"$(build-version)" $(smp-flag-y) $(preempt-flag-y) "$(build-timestamp)" |…
|
| /linux-6.15/drivers/gpu/drm/msm/adreno/ |
| H A D | a5xx_preempt.c | 148 a5xx_gpu->preempt[ring->id]->wptr = get_wptr(ring); in a5xx_preempt_trigger() 230 a5xx_gpu->preempt[i]->data = 0; in a5xx_preempt_hw_init() 231 a5xx_gpu->preempt[i]->info = 0; in a5xx_preempt_hw_init() 232 a5xx_gpu->preempt[i]->wptr = 0; in a5xx_preempt_hw_init() 233 a5xx_gpu->preempt[i]->rptr = 0; in a5xx_preempt_hw_init() 234 a5xx_gpu->preempt[i]->rbase = gpu->rb[i]->iova; in a5xx_preempt_hw_init() 235 a5xx_gpu->preempt[i]->rptr_addr = shadowptr(a5xx_gpu, gpu->rb[i]); in a5xx_preempt_hw_init() 277 a5xx_gpu->preempt[ring->id] = ptr; in preempt_init_ring()
|
| /linux-6.15/include/linux/sched/ |
| H A D | wake_q.h | 70 guard(preempt)(); in raw_spin_unlock_wake() local 81 guard(preempt)(); in raw_spin_unlock_irq_wake() local 93 guard(preempt)(); in raw_spin_unlock_irqrestore_wake() local
|
| /linux-6.15/tools/testing/selftests/ftrace/test.d/preemptirq/ |
| H A D | irqsoff_tracer.tc | 36 modprobe $MOD test_mode=preempt delay=500000 || fail 38 modprobe $MOD test_mode=preempt delay=500000 || fail 40 modprobe $MOD test_mode=preempt delay=500000 || fail
|
| /linux-6.15/drivers/gpu/drm/xe/ |
| H A D | Kconfig.profile | 35 int "Default max preempt timeout (us)" 38 Configures the default max preempt timeout after which context 42 int "Default min preempt timeout (us)" 45 Configures the default min preempt timeout after which context
|
| H A D | xe_vm.h | 236 queue_work(vm->xe->ordered_wq, &vm->preempt.rebind_work); in xe_vm_queue_rebind_worker() 250 if (xe_vm_in_preempt_fence_mode(vm) && vm->preempt.rebind_deactivated) { in xe_vm_reactivate_rebind() 251 vm->preempt.rebind_deactivated = false; in xe_vm_reactivate_rebind()
|
| H A D | xe_vm.c | 113 if (*count >= vm->preempt.num_exec_queues) in alloc_preempt_fences() 116 for (; *count < vm->preempt.num_exec_queues; ++(*count)) { in alloc_preempt_fences() 189 if (!vm->preempt.num_exec_queues) in add_preempt_fences() 248 list_add(&q->lr.link, &vm->preempt.exec_queues); in xe_vm_add_compute_exec_queue() 249 ++vm->preempt.num_exec_queues; in xe_vm_add_compute_exec_queue() 292 --vm->preempt.num_exec_queues; in xe_vm_remove_compute_exec_queue() 455 vm->preempt.rebind_deactivated = true; in xe_preempt_work_begin() 1667 INIT_LIST_HEAD(&vm->preempt.exec_queues); in xe_vm_create() 1841 xe_assert(xe, !vm->preempt.num_exec_queues); in xe_vm_close_and_put() 1845 flush_work(&vm->preempt.rebind_work); in xe_vm_close_and_put() [all …]
|
| /linux-6.15/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
| H A D | gk110.c | 41 cgrp->func->preempt(cgrp); in gk110_chan_preempt() 57 .preempt = gk110_chan_preempt, 68 .preempt = gk110_cgrp_preempt,
|
| H A D | chan.h | 55 void (*preempt)(struct nvkm_chan *); member 66 void nvkm_chan_error(struct nvkm_chan *, bool preempt); 68 void nvkm_chan_remove(struct nvkm_chan *, bool preempt);
|
| H A D | chan.c | 141 chan->func->preempt(chan); in nvkm_chan_preempt_locked() 153 if (!chan->func->preempt) in nvkm_chan_preempt() 182 nvkm_chan_remove(struct nvkm_chan *chan, bool preempt) in nvkm_chan_remove() argument 187 if (preempt && chan->func->preempt) in nvkm_chan_remove() 227 nvkm_chan_error(struct nvkm_chan *chan, bool preempt) in nvkm_chan_error() argument 235 if (preempt) in nvkm_chan_error() 236 chan->func->preempt(chan); in nvkm_chan_error()
|
| H A D | tu102.c | 58 .preempt = gk110_chan_preempt, 94 .preempt = gv100_runl_preempt,
|
| /linux-6.15/Documentation/locking/ |
| H A D | preempt-locking.rst | 53 Note, some FPU functions are already explicitly preempt safe. For example, 77 preempt_enable() decrement the preempt counter 78 preempt_disable() increment the preempt counter 79 preempt_enable_no_resched() decrement, but do not immediately preempt 81 preempt_count() return the preempt counter 85 call to preempt_enable. The preempt statements define to nothing if 94 a reschedule if the preempt count is 0. A simple printk() might trigger a 121 This code is not preempt-safe, but see how easily we can fix it by simply
|
| H A D | index.rst | 20 preempt-locking
|
| /linux-6.15/include/linux/ |
| H A D | rcupdate.h | 164 # define rcu_tasks_classic_qs(t, preempt) \ argument 166 if (!(preempt) && READ_ONCE((t)->rcu_tasks_holdout)) \ 173 # define rcu_tasks_classic_qs(t, preempt) do { } while (0) argument 203 #define rcu_tasks_qs(t, preempt) \ argument 205 rcu_tasks_classic_qs((t), (preempt)); \ 218 #define rcu_tasks_classic_qs(t, preempt) do { } while (0) argument 219 #define rcu_tasks_qs(t, preempt) do { } while (0) argument
|
| H A D | rcutiny.h | 100 #define rcu_note_context_switch(preempt) \ argument 103 rcu_tasks_qs(current, (preempt)); \
|
| /linux-6.15/samples/trace_events/ |
| H A D | trace_custom_sched.h | 27 TP_PROTO(bool preempt, 32 TP_ARGS(preempt, prev, next, prev_state),
|
| /linux-6.15/kernel/trace/rv/monitors/tss/ |
| H A D | tss.c | 22 static void handle_sched_switch(void *data, bool preempt, in handle_sched_switch() argument 30 static void handle_schedule_entry(void *data, bool preempt, unsigned long ip) in handle_schedule_entry() argument
|
| /linux-6.15/Documentation/trace/rv/ |
| H A D | monitor_wip.rst | 39 do not trace (preempt count >= 1) 44 do not trace (preempt count >= 1)
|
| /linux-6.15/arch/x86/include/asm/ |
| H A D | tlb.h | 148 guard(preempt)(); in invlpgb_flush_all() local 162 guard(preempt)(); in invlpgb_flush_all_nonglobals() local
|
| /linux-6.15/include/trace/events/ |
| H A D | sched.h | 190 static inline long __trace_sched_switch_state(bool preempt, in __trace_sched_switch_state() argument 202 if (preempt) in __trace_sched_switch_state() 222 TP_PROTO(bool preempt, 227 TP_ARGS(preempt, prev, next, prev_state), 243 __entry->prev_state = __trace_sched_switch_state(preempt, prev_state, prev); 826 TP_PROTO(bool preempt, unsigned long ip), 827 TP_ARGS(preempt, ip));
|
| /linux-6.15/kernel/trace/rv/monitors/snep/ |
| H A D | Kconfig | 11 Monitor to ensure schedule does not enable preempt.
|
| /linux-6.15/Documentation/translations/zh_CN/locking/ |
| H A D | index.rst | 30 * preempt-locking
|
| /linux-6.15/kernel/trace/rv/monitors/sco/ |
| H A D | sco.c | 27 static void handle_schedule_entry(void *data, bool preempt, unsigned long ip) in handle_schedule_entry() argument
|
| /linux-6.15/kernel/trace/rv/monitors/snroc/ |
| H A D | snroc.c | 27 static void handle_sched_switch(void *data, bool preempt, in handle_sched_switch() argument
|