| /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/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()
|
| H A D | a5xx_gpu.h | 35 struct a5xx_preempt_record *preempt[MSM_GPU_MAX_RINGS]; member
|
| /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
|
| /linux/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.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 | ga100.c | 105 .preempt = gk110_chan_preempt, 119 .preempt = ga100_cgrp_preempt, 402 runl->func->preempt(runl); in ga100_runl_init() 435 .preempt = ga100_runl_preempt,
|
| H A D | runl.c | 87 if (runl->func->preempt) { in nvkm_runl_rc() 137 if (runl->func->preempt) in nvkm_runl_rc_runl() 138 runl->func->preempt(runl); in nvkm_runl_rc_runl()
|
| H A D | cgrp.h | 31 void (*preempt)(struct nvkm_cgrp *); member
|
| H A D | gm107.c | 42 .preempt = gk110_chan_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/Documentation/trace/rv/ |
| H A D | monitor_wip.rst | 39 do not trace (preempt count >= 1) 44 do not trace (preempt count >= 1)
|
| /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/gpu/drm/xe/ |
| H A D | xe_vm.c | 72 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in preempt_fences_waiting() 97 if (*count >= vm->preempt.num_exec_queues) in alloc_preempt_fences() 100 for (; *count < vm->preempt.num_exec_queues; ++(*count)) { in alloc_preempt_fences() 121 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in wait_for_existing_preempt_fences() 149 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in xe_vm_is_idle() 162 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in arm_preempt_fences() 183 if (!vm->preempt.num_exec_queues) in add_preempt_fences() 186 err = dma_resv_reserve_fences(bo->ttm.base.resv, vm->preempt.num_exec_queues); in add_preempt_fences() 190 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) in add_preempt_fences() 208 list_for_each_entry(q, &vm->preempt.exec_queues, lr.link) { in resume_and_reinstall_preempt_fences() [all …]
|
| /linux/kernel/trace/rv/monitors/snep/ |
| H A D | Kconfig | 11 Monitor to ensure schedule does not enable preempt.
|
| /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()
|
| /linux/Documentation/translations/zh_CN/locking/ |
| H A D | index.rst | 30 * preempt-locking
|
| /linux/include/linux/ |
| H A D | file_ref.h | 150 guard(preempt)(); in file_ref_put() local
|
| H A D | parport.h | 137 int (*preempt)(void *); member 351 int (*preempt)(void *); member
|
| /linux/Documentation/trace/ |
| H A D | fprobetrace.rst | 127 # echo 't sched_switch preempt prev_pid=prev->pid next_pid=next->pid' >> dynamic_events 200 …0] d..3. 3912.083995: sched_switch: (__probestub_sched_switch+0x4/0x10) preempt=0 prev=0xffff8880… 202 …0] d..3. 3912.084184: sched_switch: (__probestub_sched_switch+0x4/0x10) preempt=0 prev=0xffffffff… 204 …0] d..3. 3912.084196: sched_switch: (__probestub_sched_switch+0x4/0x10) preempt=0 prev=0xffff8880… 206 …0] d..3. 3912.085191: sched_switch: (__probestub_sched_switch+0x4/0x10) preempt=0 prev=0xffffffff…
|
| H A D | ring-buffer-design.rst | 98 same time, nor can a reader preempt/interrupt another reader. A reader 99 cannot preempt/interrupt a writer, but it may read/consume from the 104 A writer can preempt a reader, but a reader cannot preempt a writer. 486 and writes only preempt in "stack" formation. 604 must spin, and this is why the reader cannot preempt the writer:: 657 As stated before, if enough writes preempt the first write, the
|
| /linux/arch/um/include/asm/ |
| H A D | Kbuild | 19 generic-y += preempt.h
|
| /linux/Documentation/power/ |
| H A D | tricks.rst | 12 * turn off APIC and preempt
|
| /linux/Documentation/tools/rv/ |
| H A D | rv-mon-sched.rst | 50 * snep: schedule does not enable preempt
|