Home
last modified time | relevance | path

Searched full:semaphores (Results 1 – 25 of 139) sorted by relevance

123456

/linux-6.12.1/Documentation/locking/
Dpercpu-rw-semaphore.rst2 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
Dlocktypes.rst89 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
Dmutex-design.rst16 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/
Dradeon_sync.c46 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/
Ddscr_explicit_test.c55 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/
Dsem.h33 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/
Dsembuf.h21 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/
Digc_i225.c13 * 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/
Dmutex-design.rst27 排斥”。互斥锁是一种睡眠锁,它的行为类似于二进制信号量(semaphores),在
72 改善一些工作负载的性能。注意,这种技术也被用于读写信号量(rw-semaphores)。
/linux-6.12.1/include/drm/
Dtask_barrier.h28 * Based on the Little book of semaphores - https://greenteapress.com/wp/semaphores/
/linux-6.12.1/Documentation/devicetree/bindings/mailbox/
Dnvidia,tegra186-hsp.yaml22 semaphores, arbitrated semaphores and doorbells.
/linux-6.12.1/drivers/net/ethernet/intel/igb/
De1000_i210.c74 /* 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/
Dcompletion.c6 * 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/
Di915_request.h528 * 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
Di915_request.c642 * 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/
Dixgbe_x540.c319 * 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/
Dcx18-scb.h231 u32 semaphores[8]; /* Semaphores */ member
/linux-6.12.1/Documentation/translations/zh_CN/
Dglossary.rst34 * semaphores: 信号量。
/linux-6.12.1/arch/parisc/include/uapi/asm/
Dsembuf.h28 unsigned long sem_nsems; /* no. of semaphores in array */
/linux-6.12.1/arch/sparc/include/uapi/asm/
Dsembuf.h27 unsigned long sem_nsems; /* no. of semaphores in array */
/linux-6.12.1/arch/x86/include/uapi/asm/
Dsembuf.h31 __kernel_ulong_t sem_nsems; /* no. of semaphores in array */
/linux-6.12.1/ipc/
Dsem.c27 * 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/
Dsembuf.h34 unsigned long sem_nsems; /* no. of semaphores in array */
/linux-6.12.1/Documentation/devicetree/bindings/hwlock/
Dallwinner,sun6i-a31-hwspinlock.yaml13 The hardware unit provides semaphores between the ARM cores and the embedded
/linux-6.12.1/arch/xtensa/include/uapi/asm/
Dsembuf.h40 unsigned long sem_nsems; /* no. of semaphores in array */

123456