/linux-6.12.1/Documentation/locking/ |
D | percpu-rw-semaphore.rst | 2 Percpu rw semaphores 5 Percpu rw semaphores is a new read-write semaphore design that is 8 The problem with traditional read-write semaphores is that when multiple
|
D | locktypes.rst | 89 The aforementioned lock types except semaphores have strict owner 118 Semaphores are often used for both serialization and waiting, but new use 122 semaphores and PREEMPT_RT 126 semaphores have no concept of owners, thus preventing PREEMPT_RT from 127 providing priority inheritance for semaphores. After all, an unknown 128 owner cannot be boosted. As a consequence, blocking on semaphores can
|
D | mutex-design.rst | 16 behave similarly to binary semaphores, and were introduced in 2006[1] 73 number of workloads. Note that this technique is also used for rw-semaphores.
|
/linux-6.12.1/drivers/gpu/drm/radeon/ |
D | radeon_sync.c | 46 sync->semaphores[i] = NULL; in radeon_sync_create() 80 * radeon_sync_resv - use the semaphores to sync to a reservation object 153 sync->semaphores[count++] = semaphore; in radeon_sync_rings() 194 * Free the sync object by freeing all semaphores in it. 203 radeon_semaphore_free(rdev, &sync->semaphores[i], fence); in radeon_sync_free()
|
/linux-6.12.1/tools/testing/selftests/powerpc/dscr/ |
D | dscr_explicit_test.c | 55 sem_t semaphores[2]; in dscr_explicit_lockstep_test() local 56 sem_t *prev = &semaphores[1]; /* reversed prev/next than for the other thread */ in dscr_explicit_lockstep_test() 57 sem_t *next = &semaphores[0]; in dscr_explicit_lockstep_test() 68 FAIL_IF(pthread_create(&thread, NULL, dscr_explicit_lockstep_thread, (void *)semaphores)); in dscr_explicit_lockstep_test()
|
/linux-6.12.1/include/uapi/linux/ |
D | sem.h | 33 unsigned short sem_nsems; /* no. of semaphores in array */ 81 #define SEMMSL 32000 /* <= INT_MAX max num of semaphores per id */ 82 #define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */
|
/linux-6.12.1/arch/mips/include/uapi/asm/ |
D | sembuf.h | 21 unsigned long sem_nsems; /* no. of semaphores in array */ 30 unsigned long sem_nsems; /* no. of semaphores in array */
|
/linux-6.12.1/drivers/net/ethernet/intel/igc/ |
D | igc_i225.c | 13 * Acquire the necessary semaphores for exclusive access to the EEPROM. 28 * then release the semaphores acquired. 93 /* Release semaphores */ in igc_get_hw_semaphore_i225() 185 * Uses necessary synchronization semaphores. 193 /* We cannot hold synchronization semaphores for too long, in igc_read_nvm_srrd_i225() 291 /* We cannot hold synchronization semaphores for too long, in igc_write_nvm_srwr_i225() 426 * semaphores twice here. in igc_update_nvm_checksum_i225()
|
/linux-6.12.1/Documentation/translations/zh_CN/locking/ |
D | mutex-design.rst | 27 排斥”。互斥锁是一种睡眠锁,它的行为类似于二进制信号量(semaphores),在 72 改善一些工作负载的性能。注意,这种技术也被用于读写信号量(rw-semaphores)。
|
/linux-6.12.1/include/drm/ |
D | task_barrier.h | 28 * Based on the Little book of semaphores - https://greenteapress.com/wp/semaphores/
|
/linux-6.12.1/Documentation/devicetree/bindings/mailbox/ |
D | nvidia,tegra186-hsp.yaml | 22 semaphores, arbitrated semaphores and doorbells.
|
/linux-6.12.1/drivers/net/ethernet/intel/igb/ |
D | e1000_i210.c | 74 /* Release semaphores */ in igb_get_hw_semaphore_i210() 87 * Acquire the necessary semaphores for exclusive access to the EEPROM. 102 * then release the semaphores acquired. 185 * Uses necessary synchronization semaphores. 193 /* We cannot hold synchronization semaphores for too long, in igb_read_nvm_srrd_i210() 293 /* We cannot hold synchronization semaphores for too long, in igb_write_nvm_srwr_i210() 593 * semaphores twice here. in igb_update_nvm_checksum_i210()
|
/linux-6.12.1/kernel/sched/ |
D | completion.c | 6 * It differs from semaphores in that their default case is the opposite, 9 * something which isn't entirely natural for semaphores. 11 * But more importantly, the primitive documents the usage. Semaphores would
|
/linux-6.12.1/drivers/gpu/drm/i915/ |
D | i915_request.h | 528 * If the timeline is using semaphores, it will also be emitting an 529 * "initial breadcrumb" after the semaphores are complete and just before 532 * dependencies (via HW semaphores). 535 * (either by fences or by semaphores) and it will have begun processing 592 * this is controlled with a mixture of interrupts and semaphores. Once
|
D | i915_request.c | 642 * Are we using semaphores when the gpu is already saturated? in __i915_request_submit() 644 * Using semaphores incurs a cost in having the GPU poll a in __i915_request_submit() 652 * system is overloaded and using semaphores at this time only in __i915_request_submit() 654 * further use of semaphores until we are idle again, whence we in __i915_request_submit() 657 if (request->sched.semaphores && in __i915_request_submit() 659 engine->saturated |= request->sched.semaphores; in __i915_request_submit() 736 if (request->sched.semaphores && __i915_request_has_started(request)) in __i915_request_unsubmit() 737 request->sched.semaphores = 0; in __i915_request_unsubmit() 1139 return rq->sched.semaphores | READ_ONCE(rq->engine->saturated); in already_busywaiting() 1219 * semaphores as they bypass the fence signaling metadata, and we in emit_semaphore_wait() [all …]
|
/linux-6.12.1/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe_x540.c | 319 * the synchronization semaphores here. Instead use in ixgbe_calc_eeprom_checksum_X540() 409 * the synchronization semaphores twice here. in ixgbe_validate_eeprom_checksum_X540() 467 * take the synchronization semaphores twice here. in ixgbe_update_eeprom_checksum_X540() 661 * Sets the hardware semaphores so SW/FW can gain control of shared resources 695 /* Release semaphores and return error if SW NVM semaphore in ixgbe_get_swfw_sync_semaphore() 713 /* Release both semaphores by writing 0 to the bits REGSMP and SMBI */ in ixgbe_release_swfw_sync_semaphore()
|
/linux-6.12.1/drivers/media/pci/cx18/ |
D | cx18-scb.h | 231 u32 semaphores[8]; /* Semaphores */ member
|
/linux-6.12.1/Documentation/translations/zh_CN/ |
D | glossary.rst | 34 * semaphores: 信号量。
|
/linux-6.12.1/arch/parisc/include/uapi/asm/ |
D | sembuf.h | 28 unsigned long sem_nsems; /* no. of semaphores in array */
|
/linux-6.12.1/arch/sparc/include/uapi/asm/ |
D | sembuf.h | 27 unsigned long sem_nsems; /* no. of semaphores in array */
|
/linux-6.12.1/arch/x86/include/uapi/asm/ |
D | sembuf.h | 31 __kernel_ulong_t sem_nsems; /* no. of semaphores in array */
|
/linux-6.12.1/ipc/ |
D | sem.c | 27 * This file implements System V semaphores. 50 * If multiple semaphores in one array are used, then cache line 55 * Semaphores are actively given to waiting tasks (necessary for FIFO). 113 /* One sem_array data structure for each set of semaphores in the system. */ 122 int sem_nsems; /* no. of semaphores in array */ 386 * multiple semaphores in our own semops, or we need to look at 387 * semaphores from other pending complex operations. 912 * No sops means modified semaphores not known. in do_smart_wakeup_zero() 923 * If one of the modified semaphores got 0, in do_smart_wakeup_zero() 940 * was modified. If multiple semaphores were modified, update_queue must [all …]
|
/linux-6.12.1/arch/powerpc/include/uapi/asm/ |
D | sembuf.h | 34 unsigned long sem_nsems; /* no. of semaphores in array */
|
/linux-6.12.1/Documentation/devicetree/bindings/hwlock/ |
D | allwinner,sun6i-a31-hwspinlock.yaml | 13 The hardware unit provides semaphores between the ARM cores and the embedded
|
/linux-6.12.1/arch/xtensa/include/uapi/asm/ |
D | sembuf.h | 40 unsigned long sem_nsems; /* no. of semaphores in array */
|