| /linux/arch/arm64/include/asm/ |
| H A D | preempt.h | 12 return READ_ONCE(current_thread_info()->preempt.count); in preempt_count() 18 WRITE_ONCE(current_thread_info()->preempt.count, pc); in preempt_count_set() 31 current_thread_info()->preempt.need_resched = 0; in set_preempt_need_resched() 36 current_thread_info()->preempt.need_resched = 1; in clear_preempt_need_resched() 41 return !current_thread_info()->preempt.need_resched; in test_preempt_need_resched() 46 u32 pc = READ_ONCE(current_thread_info()->preempt.count); in __preempt_count_add() 48 WRITE_ONCE(current_thread_info()->preempt.count, pc); in __preempt_count_add() 53 u32 pc = READ_ONCE(current_thread_info()->preempt.count); in __preempt_count_sub() 55 WRITE_ONCE(current_thread_info()->preempt.count, pc); in __preempt_count_sub() 64 WRITE_ONCE(ti->preempt.count, --pc); in __preempt_count_dec_and_test()
|
| /linux/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/drivers/gpu/drm/msm/adreno/ |
| H A D | a5xx_preempt.c | 149 a5xx_gpu->preempt[ring->id]->wptr = get_wptr(ring); in a5xx_preempt_trigger() 231 a5xx_gpu->preempt[i]->data = 0; in a5xx_preempt_hw_init() 232 a5xx_gpu->preempt[i]->info = 0; in a5xx_preempt_hw_init() 233 a5xx_gpu->preempt[i]->wptr = 0; in a5xx_preempt_hw_init() 234 a5xx_gpu->preempt[i]->rptr = 0; in a5xx_preempt_hw_init() 235 a5xx_gpu->preempt[i]->rbase = gpu->rb[i]->iova; in a5xx_preempt_hw_init() 236 a5xx_gpu->preempt[i]->rptr_addr = shadowptr(a5xx_gpu, gpu->rb[i]); in a5xx_preempt_hw_init() 278 a5xx_gpu->preempt[ring->id] = ptr; in preempt_init_ring()
|
| /linux/include/linux/sched/ |
| H A D | wake_q.h | 66 /* Spin unlock helpers to unlock and call wake_up_q with preempt disabled */ 71 guard(preempt)(); in raw_spin_unlock_wake() 83 guard(preempt)(); in raw_spin_unlock_irq_wake() 96 guard(preempt)(); in raw_spin_unlock_irqrestore_wake() 70 guard(preempt)(); raw_spin_unlock_wake() local 81 guard(preempt)(); raw_spin_unlock_irq_wake() local 93 guard(preempt)(); raw_spin_unlock_irqrestore_wake() local
|
| /linux/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/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/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 | 246 queue_work(vm->xe->ordered_wq, &vm->preempt.rebind_work); in xe_vm_queue_rebind_worker() 260 if (xe_vm_in_preempt_fence_mode(vm) && vm->preempt.rebind_deactivated) { in xe_vm_reactivate_rebind() 261 vm->preempt.rebind_deactivated = false; in xe_vm_reactivate_rebind()
|
| H A D | xe_vm.c | 70 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in preempt_fences_waiting() 95 if (*count >= vm->preempt.num_exec_queues) in alloc_preempt_fences() 98 for (; *count < vm->preempt.num_exec_queues; ++(*count)) { in alloc_preempt_fences() 119 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in wait_for_existing_preempt_fences() 147 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in xe_vm_is_idle() 160 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in arm_preempt_fences() 181 if (!vm->preempt.num_exec_queues) in add_preempt_fences() 184 err = dma_resv_reserve_fences(bo->ttm.base.resv, vm->preempt.num_exec_queues); in add_preempt_fences() 188 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) in add_preempt_fences() 206 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in resume_and_reinstall_preempt_fences() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
| 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 | 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 | 52 void (*preempt)(struct nvkm_chan *); member 63 void nvkm_chan_error(struct nvkm_chan *, bool preempt); 65 void nvkm_chan_remove(struct nvkm_chan *, bool preempt);
|
| H A D | tu102.c | 58 .preempt = gk110_chan_preempt, 94 .preempt = gv100_runl_preempt,
|
| /linux/include/linux/ |
| H A D | rcupdate.h | 174 # define rcu_tasks_classic_qs(t, preempt) \ argument 176 if (!(preempt) && READ_ONCE((t)->rcu_tasks_holdout)) \ 183 # define rcu_tasks_classic_qs(t, preempt) do { } while (0) argument 188 #define rcu_tasks_qs(t, preempt) rcu_tasks_classic_qs((t), (preempt)) argument 199 #define rcu_tasks_classic_qs(t, preempt) do { } while (0) argument 200 #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/samples/trace_events/ |
| H A D | trace_custom_sched.h | 27 TP_PROTO(bool preempt, 32 TP_ARGS(preempt, prev, next, prev_state),
|
| /linux/kernel/trace/rv/monitors/sssw/ |
| H A D | sssw.c | 29 static void handle_sched_switch(void *data, bool preempt, in handle_sched_switch() argument 34 if (preempt) in handle_sched_switch()
|
| /linux/kernel/trace/rv/monitors/nrp/ |
| H A D | nrp.c | 76 static void handle_schedule_entry(void *data, bool preempt) in handle_schedule_entry() argument 78 if (preempt) in handle_schedule_entry()
|
| /linux/Documentation/trace/rv/ |
| H A D | monitor_wip.rst | 39 do not trace (preempt count >= 1) 44 do not trace (preempt count >= 1)
|
| /linux/kernel/trace/rv/monitors/sts/ |
| H A D | sts.c | 75 static void handle_sched_switch(void *data, bool preempt, in handle_sched_switch() argument 83 static void handle_schedule_entry(void *data, bool preempt) in handle_schedule_entry() argument
|
| /linux/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/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); 883 TP_PROTO(bool preempt), 884 TP_ARGS(preempt));
|
| /linux/Documentation/arch/powerpc/ |
| H A D | vpa-dtl.rst | 18 retrieve a log of dispatch and preempt events from the hypervisor 20 user can retrieve when and why each dispatch & preempt has occurred. 31 Trace Log) contains information about dispatch/preempt, enqueue time etc. 121 First two fields represent the dispatch reason and preempt reason. The post
|
| /linux/drivers/parport/ |
| H A D | share.c | 686 if (!par_dev_cb->preempt || !par_dev_cb->wakeup) { in parport_register_dev_model() 727 par_dev->preempt = par_dev_cb->preempt; in parport_register_dev_model() 971 if (oldcad->preempt) { in parport_claim() 972 if (oldcad->preempt(oldcad->private)) in parport_claim()
|