Searched refs:seqcount (Results 1 – 17 of 17) sorted by relevance
/linux-6.12.1/include/linux/ |
D | seqlock.h | 126 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 …]
|
D | seqlock_types.h | 33 typedef struct seqcount { struct 64 seqcount_t seqcount; \ 89 seqcount_spinlock_t seqcount; member
|
D | sched.h | 361 seqcount_t seqcount; member
|
/linux-6.12.1/kernel/sched/ |
D | cputime.c | 712 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/ |
D | path-lookup.txt | 96 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/ |
D | init_task.c | 181 .vtime.seqcount = SEQCNT_ZERO(init_task.vtime_seqcount),
|
/linux-6.12.1/arch/powerpc/kvm/ |
D | book3s_hv_p9_entry.c | 239 seq = curr->seqcount; in accumulate_time() 240 curr->seqcount = seq + 1; in accumulate_time() 248 curr->seqcount = seq + 2; in accumulate_time()
|
D | book3s_hv.c | 2912 count = acc->seqcount; in debugfs_timings_read() 2917 if (count == acc->seqcount) { in debugfs_timings_read()
|
/linux-6.12.1/arch/x86/kernel/ |
D | tsc.c | 78 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/ |
D | pvr_rogue_fwif.h | 2016 #define ROGUE_FWIF_TIME_CORR_CURR_INDEX(seqcount) \ argument 2017 ((seqcount) % ROGUE_FWIF_TIME_CORR_ARRAY_SIZE)
|
/linux-6.12.1/Documentation/locking/ |
D | seqlock.rst | 103 stored in struct seqcount and lockdep's "lock is held" assertions are
|
/linux-6.12.1/arch/powerpc/include/asm/ |
D | kvm_host.h | 425 u64 seqcount; /* used to synchronize access, also count * 2 */ member
|
/linux-6.12.1/fs/ |
D | namei.c | 2027 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/ |
D | asm-offsets.c | 392 OFFSET(TAS_SEQCOUNT, kvmhv_tb_accumulator, seqcount); in main()
|
/linux-6.12.1/Documentation/gpu/ |
D | drm-vm-bind-locking.rst | 89 'lock' a lot like a seqcount. However this allows multiple
|
/linux-6.12.1/kernel/ |
D | fork.c | 2277 seqcount_init(&p->vtime.seqcount); in copy_process()
|
/linux-6.12.1/drivers/infiniband/hw/hfi1/ |
D | sdma.c | 2328 (const seqcount_t *)&sde->head_lock.seqcount); in sdma_check_progress()
|