Home
last modified time | relevance | path

Searched refs:seqcount (Results 1 – 17 of 17) sorted by relevance

/linux-6.12.1/include/linux/
Dseqlock.h126 seqcount_init(&____s->seqcount); \
148 return &s->seqcount; \
154 return &s->seqcount; \
160 unsigned seq = smp_load_acquire(&s->seqcount.sequence); \
173 seq = smp_load_acquire(&s->seqcount.sequence); \
239 .seqcount = SEQCNT_ZERO(seq_name.seqcount), \ in SEQCOUNT_LOCKNAME()
587 seqcount_t seqcount; member
595 .seqcount = SEQCNT_ZERO(seq_name.seqcount), \
602 #define seqcount_latch_init(s) seqcount_init(&(s)->seqcount)
621 return READ_ONCE(s->seqcount.sequence); in raw_read_seqcount_latch()
[all …]
Dseqlock_types.h33 typedef struct seqcount { struct
64 seqcount_t seqcount; \
89 seqcount_spinlock_t seqcount; member
Dsched.h361 seqcount_t seqcount; member
/linux-6.12.1/kernel/sched/
Dcputime.c712 write_seqcount_begin(&vtime->seqcount); in vtime_account_kernel()
714 write_seqcount_end(&vtime->seqcount); in vtime_account_kernel()
721 write_seqcount_begin(&vtime->seqcount); in vtime_user_enter()
724 write_seqcount_end(&vtime->seqcount); in vtime_user_enter()
731 write_seqcount_begin(&vtime->seqcount); in vtime_user_exit()
738 write_seqcount_end(&vtime->seqcount); in vtime_user_exit()
751 write_seqcount_begin(&vtime->seqcount); in vtime_guest_enter()
755 write_seqcount_end(&vtime->seqcount); in vtime_guest_enter()
763 write_seqcount_begin(&vtime->seqcount); in vtime_guest_exit()
767 write_seqcount_end(&vtime->seqcount); in vtime_guest_exit()
[all …]
/linux-6.12.1/Documentation/filesystems/
Dpath-lookup.txt96 using d_seq for synchronisation (see seqcount based lookups, below).
192 no non-atomic stores to shared data), and to recheck the seqcount when we are
193 "done" with the operation. Retry or abort if the seqcount does not match.
198 protect the dentry object from disappearing, can perform a seqcount based
203 Inodes are also rcu freed, so the seqcount lookup dentry's inode may also be
216 walking is operating on each dentry. rcu-walk uses seqcount based dentry
277 It is, in some sense, a bit of a house of cards. If the seqcount check of the
/linux-6.12.1/init/
Dinit_task.c181 .vtime.seqcount = SEQCNT_ZERO(init_task.vtime_seqcount),
/linux-6.12.1/arch/powerpc/kvm/
Dbook3s_hv_p9_entry.c239 seq = curr->seqcount; in accumulate_time()
240 curr->seqcount = seq + 1; in accumulate_time()
248 curr->seqcount = seq + 2; in accumulate_time()
Dbook3s_hv.c2912 count = acc->seqcount; in debugfs_timings_read()
2917 if (count == acc->seqcount) { in debugfs_timings_read()
/linux-6.12.1/arch/x86/kernel/
Dtsc.c78 seq = this_cpu_read(cyc2ns.seq.seqcount.sequence); in __cyc2ns_read()
85 } while (unlikely(seq != this_cpu_read(cyc2ns.seq.seqcount.sequence))); in __cyc2ns_read()
/linux-6.12.1/drivers/gpu/drm/imagination/
Dpvr_rogue_fwif.h2016 #define ROGUE_FWIF_TIME_CORR_CURR_INDEX(seqcount) \ argument
2017 ((seqcount) % ROGUE_FWIF_TIME_CORR_ARRAY_SIZE)
/linux-6.12.1/Documentation/locking/
Dseqlock.rst103 stored in struct seqcount and lockdep's "lock is held" assertions are
/linux-6.12.1/arch/powerpc/include/asm/
Dkvm_host.h425 u64 seqcount; /* used to synchronize access, also count * 2 */ member
/linux-6.12.1/fs/
Dnamei.c2027 if (__read_seqcount_retry(&mount_lock.seqcount, nd->m_seq)) in handle_dots()
2029 if (__read_seqcount_retry(&rename_lock.seqcount, nd->r_seq)) in handle_dots()
2458 nd->m_seq = __read_seqcount_begin(&mount_lock.seqcount); in path_init()
2459 nd->r_seq = __read_seqcount_begin(&rename_lock.seqcount); in path_init()
/linux-6.12.1/arch/powerpc/kernel/
Dasm-offsets.c392 OFFSET(TAS_SEQCOUNT, kvmhv_tb_accumulator, seqcount); in main()
/linux-6.12.1/Documentation/gpu/
Ddrm-vm-bind-locking.rst89 'lock' a lot like a seqcount. However this allows multiple
/linux-6.12.1/kernel/
Dfork.c2277 seqcount_init(&p->vtime.seqcount); in copy_process()
/linux-6.12.1/drivers/infiniband/hw/hfi1/
Dsdma.c2328 (const seqcount_t *)&sde->head_lock.seqcount); in sdma_check_progress()