| /linux/arch/csky/ |
| H A D | Kconfig | 14 select ARCH_INLINE_READ_LOCK if !PREEMPTION 15 select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION 16 select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION 17 select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION 18 select ARCH_INLINE_READ_UNLOCK if !PREEMPTION 19 select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION 20 select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION 21 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION 22 select ARCH_INLINE_WRITE_LOCK if !PREEMPTION 23 select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION [all …]
|
| /linux/Documentation/locking/ |
| H A D | preempt-locking.rst | 35 protect these situations by disabling preemption around them. 37 You can also use put_cpu() and get_cpu(), which will disable preemption. 44 Under preemption, the state of the CPU must be protected. This is arch- 47 section that must occur while preemption is disabled. Think what would happen 50 upon preemption, the FPU registers will be sold to the lowest bidder. Thus, 51 preemption must be disabled around such regions. 54 kernel_fpu_begin and kernel_fpu_end will disable and enable preemption. 72 Data protection under preemption is achieved by disabling preemption for the 84 n-times in a code path, and preemption will not be reenabled until the n-th 86 preemption is not enabled. [all …]
|
| /linux/drivers/gpu/drm/msm/adreno/ |
| H A D | a5xx_gpu.h | 58 * In order to do lockless preemption we use a simple state machine to progress 61 * PREEMPT_NONE - no preemption in progress. Next state START. 62 * PREEMPT_START - The trigger is evaulating if preemption is possible. Next 66 * PREEMPT_TRIGGERED: A preemption has been executed on the hardware. Next 68 * PREEMPT_FAULTED: A preemption timed out (never completed). This will trigger 70 * PREEMPT_PENDING: Preemption complete interrupt fired - the callback is 85 * CPU to store the state for preemption. The record itself is much larger 88 * There is a preemption record assigned per ringbuffer. When the CPU triggers a 89 * preemption, it fills out the record with the useful information (wptr, ring 91 * the preemption. When a ring is switched out, the CP will save the ringbuffer [all …]
|
| H A D | a5xx_preempt.c | 9 * Try to transition the preemption state from old to new. Return 22 * Force the preemption state to the specified state. This is used in cases 30 * preemption or in the interrupt handler so barriers are needed in set_preempt_state() 90 DRM_DEV_ERROR(dev->dev, "%s: preemption timed out\n", gpu->name); in a5xx_preempt_timer() 94 /* Try to trigger a preemption switch */ 106 * Serialize preemption start to ensure that we always make in a5xx_preempt_trigger() 113 * Try to start preemption by moving from NONE to START. If in a5xx_preempt_trigger() 114 * unsuccessful, a preemption is already in flight in a5xx_preempt_trigger() 128 * Its possible that while a preemption request is in progress in a5xx_preempt_trigger() 152 /* Set the address of the incoming preemption record */ in a5xx_preempt_trigger() [all …]
|
| /linux/arch/loongarch/ |
| H A D | Kconfig | 33 select ARCH_INLINE_READ_LOCK if !PREEMPTION 34 select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION 35 select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION 36 select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION 37 select ARCH_INLINE_READ_UNLOCK if !PREEMPTION 38 select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION 39 select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION 40 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION 41 select ARCH_INLINE_WRITE_LOCK if !PREEMPTION 42 select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION [all …]
|
| /linux/kernel/ |
| H A D | Kconfig.locks | 104 # - DEBUG_SPINLOCK=n and PREEMPTION=n 142 depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ 171 depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK 179 depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ 208 depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK 216 depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
|
| H A D | rseq.c | 14 * preemption and signal delivery. Typically used for implementing 281 * guarded against scheduler preemption, which makes it CPU in rseq_slowpath_update_usr() 283 * re-enabling preemption then TIF_NOTIFY_RESUME is set in rseq_slowpath_update_usr() 580 * work was able to cancel it, then depending on the preemption model this 636 * st->cookie can be safely read as preemption is disabled and the in rseq_cancel_slice_extension_timer() 716 * Leaving the scope will reschedule on preemption models FULL, in rseq_syscall_enter_work() 722 * Now that preemption is disabled, quickly check whether in rseq_syscall_enter_work() 737 /* Reschedule on NONE/VOLUNTARY preemption models */ in rseq_syscall_enter_work()
|
| /linux/Documentation/core-api/ |
| H A D | local_ops.rst | 42 making sure that we modify it from within a preemption safe context. It is 70 * Preemption (or interrupts) must be disabled when using local ops in 76 preemption already disabled. I suggest, however, to explicitly 77 disable preemption anyway to make sure it will still work correctly on 104 local atomic operations: it makes sure that preemption is disabled around write 110 If you are already in a preemption-safe context, you can use 161 * preemptible context (it disables preemption) :
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | vmx_preemption_timer_test.c | 3 * VMX-preemption timer test 60 * Now wait for the preemption timer to fire and in l2_guest_code() 84 * Check for Preemption timer support in l1_guest_code() 127 * Ensure the exit from L2 is due to preemption timer expiry in l1_guest_code() 203 * From L1's perspective verify Preemption timer hasn't in main() 205 * From L2's perspective verify Preemption timer hasn't in main()
|
| /linux/Documentation/RCU/ |
| H A D | NMI-RCU.rst | 45 The do_nmi() function processes each NMI. It first disables preemption 50 preemption is restored. 95 CPUs complete any preemption-disabled segments of code that they were 97 Since NMI handlers disable preemption, synchronize_rcu() is guaranteed
|
| /linux/fs/ |
| H A D | stack.c | 18 * preemption (see include/linux/fs.h): we need nothing extra for in fsstack_copy_inode_size() 26 * i_blocks in sync despite SMP or PREEMPTION - though stat's in fsstack_copy_inode_size() 48 * i_blocks in sync despite SMP or PREEMPTION: use i_lock for that case in fsstack_copy_inode_size()
|
| /linux/Documentation/mm/ |
| H A D | highmem.rst | 66 CPU while the mapping is active. Although preemption is never disabled by 73 As said, pagefaults and preemption are never disabled. There is no need to 74 disable preemption because, when context switches to a different task, the 110 effects of atomic mappings, i.e. disabling page faults or preemption, or both. 141 restrictions on preemption or migration. It comes with an overhead as mapping
|
| /linux/arch/arm64/include/asm/ |
| H A D | percpu.h | 26 * Non-VHE hyp code runs with preemption disabled. No need to hazard in __hyp_my_cpu_offset() 147 * re-enabling preemption for preemptible kernels, but doing that in a way 151 * Not to mention it'll break the actual preemption model for missing a 152 * preemption point when TIF_NEED_RESCHED gets set while preemption is
|
| /linux/Documentation/virt/kvm/devices/ |
| H A D | arm-vgic.rst | 99 maximum possible 128 preemption levels. The semantics of the register 100 indicate if any interrupts in a given preemption level are in the active 103 Thus, preemption level X has one or more active interrupts if and only if: 107 Bits for undefined preemption levels are RAZ/WI.
|
| /linux/arch/s390/include/asm/ |
| H A D | kmsan.h | 43 * KMSAN. Therefore, disable preemption here, and re-enable preemption in kmsan_virt_addr_valid()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_hw_engine_types.h | 94 /** @sched_props.preempt_timeout_us: preemption timeout in micro-seconds */ 96 /** @sched_props.preempt_timeout_min: min preemption timeout in micro-seconds */ 98 /** @sched_props.preempt_timeout_max: max preemption timeout in micro-seconds */
|
| /linux/arch/riscv/include/asm/ |
| H A D | simd.h | 30 * RISCV_KERNEL_MODE_V is only set while preemption is disabled, in may_use_simd() 31 * and is clear whenever preemption is enabled. in may_use_simd()
|
| /linux/drivers/gpu/drm/amd/include/ivsrcid/vpe/ |
| H A D | irqsrcs_vpe_6_1.h | 30 #define VPE_6_1_SRCID__VPE_PREEMPT 4 // 0x4 Preemption 38 #define VPE_6_1_SRCID__VPE_IB_PREEMPT 12 // 0xC IB preemption
|
| /linux/Documentation/trace/rv/ |
| H A D | monitor_wip.rst | 13 preemption disabled:: 30 The wakeup event always takes place with preemption disabled because
|
| /linux/Documentation/gpu/ |
| H A D | drm-compute.rst | 17 not even to force preemption. The driver with is simply forced to unmap a BO 36 If job preemption and recoverable pagefaults are not available, those are the
|
| /linux/arch/x86/include/asm/ |
| H A D | kmsan.h | 86 * KMSAN. Therefore, disable preemption here, and re-enable preemption in kmsan_virt_addr_valid()
|
| /linux/tools/testing/selftests/powerpc/math/ |
| H A D | fpu_preempt.c | 6 * This test attempts to see if the FPU registers change across preemption. 7 * There is no way to be sure preemption happened so this test just uses many
|
| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icssg_switch_map.h | 192 /* Memory to Enable/Disable Preemption on TX side */ 195 /* Active State of Preemption on TX side */ 198 /* Memory to Enable/Disable Verify State Machine Preemption */
|
| /linux/arch/sparc/lib/ |
| H A D | clear_page.S | 25 * disable preemption during the clear. 61 /* Disable preemption. */
|
| /linux/drivers/net/ethernet/mscc/ |
| H A D | ocelot_mm.c | 3 * Hardware library for MAC Merge Layer and Frame Preemption on TSN-capable 63 * preemption at lower speeds in this PHY mode. in ocelot_port_update_active_preemptible_tcs() 128 dev_dbg(ocelot->dev, "Port %d TX preemption %s\n", in ocelot_mm_update_port_status()
|