| /kernel/linux/linux-6.6/fs/btrfs/ |
| H A D | locking.c | 115 * - try-lock semantics for readers and writers 325 * if there are pending readers no new writers would be allowed to come in and 332 atomic_set(&lock->writers, 0); in btrfs_drew_lock_init() 343 atomic_inc(&lock->writers); in btrfs_drew_try_write_lock() 345 /* Ensure writers count is updated before we check for pending readers */ in btrfs_drew_try_write_lock() 366 atomic_dec(&lock->writers); in btrfs_drew_write_unlock() 376 * goes to sleep in case of active writers. This guarantees new writers in btrfs_drew_read_lock() 382 wait_event(lock->pending_readers, atomic_read(&lock->writers) == 0); in btrfs_drew_read_lock() 388 * atomic_dec_and_test implies a full barrier, so woken up writers in btrfs_drew_read_unlock() [all...] |
| H A D | subpage.c | 175 atomic_set(&ret->writers, 0); in btrfs_alloc_subpage() 304 ret = atomic_add_return(nbits, &subpage->writers); in btrfs_subpage_start_writer() 321 * subpage::writers is 0. Handle them in a special way. in btrfs_subpage_end_and_test_writer() 323 if (atomic_read(&subpage->writers) == 0) in btrfs_subpage_end_and_test_writer() 326 ASSERT(atomic_read(&subpage->writers) >= nbits); in btrfs_subpage_end_and_test_writer() 327 return atomic_sub_and_test(nbits, &subpage->writers); in btrfs_subpage_end_and_test_writer() 676 * It should not have any subpage::writers count. 702 * without writers number. in btrfs_page_unlock_writer() 704 * Since we own the page lock, no one else could touch subpage::writers in btrfs_page_unlock_writer() 707 if (atomic_read(&subpage->writers) in btrfs_page_unlock_writer() [all...] |
| H A D | subpage.h | 66 atomic_t writers; member
|
| H A D | locking.h | 198 atomic_t writers; member
|
| /kernel/linux/linux-5.10/fs/btrfs/ |
| H A D | locking.c | 31 * - try-lock semantics for readers and writers 218 * The rwlock is released and blocking writers is set. 239 * Lock the extent buffer for read. Wait for any writers (spinning or blocking). 291 * contending blocking writers. If there are, don't wait. 313 * Try-lock for read. Don't block or wait for contending writers. 414 * Lock for write. Wait for all blocking and spinning readers and writers. This 593 * if there are pending readers no new writers would be allowed to come in and 601 ret = percpu_counter_init(&lock->writers, 0, GFP_KERNEL); in btrfs_drew_lock_init() 614 percpu_counter_destroy(&lock->writers); in btrfs_drew_lock_destroy() 623 percpu_counter_inc(&lock->writers); in btrfs_drew_try_write_lock() [all...] |
| H A D | locking.h | 136 struct percpu_counter writers; member
|
| /kernel/linux/linux-5.10/fs/ |
| H A D | pipe.c | 71 * FIFOs and Pipes now generate SIGIO for both readers and writers. 224 unsigned int writers = READ_ONCE(pipe->writers); in pipe_readable() local 226 return !pipe_empty(head, tail) || !writers; in pipe_readable() 246 * We only wake up writers if the pipe was full when we started in pipe_read() 249 * But when we do wake up writers, we do so using a sync wakeup in pipe_read() 340 if (!pipe->writers) in pipe_read() 363 * So we still need to wake up any pending writers in the in pipe_read() 678 if (!pipe->writers && filp->f_version != pipe->w_counter) in pipe_poll() 720 pipe->writers in pipe_release() [all...] |
| /kernel/linux/linux-6.6/fs/ |
| H A D | pipe.c | 72 * FIFOs and Pipes now generate SIGIO for both readers and writers. 225 unsigned int writers = READ_ONCE(pipe->writers); in pipe_readable() local 227 return !pipe_empty(head, tail) || !writers; in pipe_readable() 247 * We only wake up writers if the pipe was full when we started in pipe_read() 250 * But when we do wake up writers, we do so using a sync wakeup in pipe_read() 341 if (!pipe->writers) in pipe_read() 365 * So we still need to wake up any pending writers in the in pipe_read() 680 if (!pipe->writers && filp->f_version != pipe->w_counter) in pipe_poll() 722 pipe->writers in pipe_release() [all...] |
| /kernel/linux/linux-5.10/drivers/mtd/ubi/ |
| H A D | kapi.c | 166 if (vol->exclusive || vol->writers > 0) in ubi_open_volume() 168 vol->writers += 1; in ubi_open_volume() 172 if (vol->exclusive || vol->writers || vol->readers || in ubi_open_volume() 339 vol->writers -= 1; in ubi_close_volume()
|
| H A D | cdev.c | 50 users = vol->readers + vol->writers + vol->exclusive + vol->metaonly; in get_exclusive() 56 vol->readers = vol->writers = vol->metaonly = 0; in get_exclusive() 76 ubi_assert(vol->readers == 0 && vol->writers == 0 && vol->metaonly == 0); in revoke_exclusive() 82 vol->writers = 1; in revoke_exclusive()
|
| /kernel/linux/linux-6.6/drivers/mtd/ubi/ |
| H A D | kapi.c | 167 if (vol->exclusive || vol->writers > 0) in ubi_open_volume() 169 vol->writers += 1; in ubi_open_volume() 173 if (vol->exclusive || vol->writers || vol->readers || in ubi_open_volume() 340 vol->writers -= 1; in ubi_close_volume()
|
| H A D | cdev.c | 50 users = vol->readers + vol->writers + vol->exclusive + vol->metaonly; in get_exclusive() 56 vol->readers = vol->writers = vol->metaonly = 0; in get_exclusive() 76 ubi_assert(vol->readers == 0 && vol->writers == 0 && vol->metaonly == 0); in revoke_exclusive() 82 vol->writers = 1; in revoke_exclusive()
|
| /kernel/linux/linux-5.10/fs/cifs/ |
| H A D | misc.c | 579 if (!cinode->writers) in cifs_get_writer() 581 cinode->writers++; in cifs_get_writer() 584 cinode->writers--; in cifs_get_writer() 585 if (cinode->writers == 0) { in cifs_get_writer() 599 cinode->writers--; in cifs_put_writer() 600 if (cinode->writers == 0) { in cifs_put_writer()
|
| /kernel/linux/linux-6.6/fs/smb/client/ |
| H A D | misc.c | 588 if (!cinode->writers) in cifs_get_writer() 590 cinode->writers++; in cifs_get_writer() 593 cinode->writers--; in cifs_get_writer() 594 if (cinode->writers == 0) { in cifs_get_writer() 608 cinode->writers--; in cifs_put_writer() 609 if (cinode->writers == 0) { in cifs_put_writer()
|
| /kernel/linux/linux-5.10/include/linux/ |
| H A D | pipe_fs_i.h | 47 * @writers: number of current writers of this pipe 70 unsigned int writers; member
|
| /kernel/linux/linux-6.6/include/linux/ |
| H A D | pipe_fs_i.h | 47 * @writers: number of current writers of this pipe 70 unsigned int writers; member
|
| /kernel/linux/linux-5.10/include/media/ |
| H A D | dvbdev.h | 137 * @writers: Initialized by the caller. Each call to open() in Read/Write 170 int writers; member
|
| /kernel/linux/linux-6.6/include/media/ |
| H A D | dvbdev.h | 141 * @writers: Initialized by the caller. Each call to open() in Read/Write 174 int writers; member
|
| /kernel/linux/linux-5.10/drivers/media/dvb-core/ |
| H A D | dvbdev.c | 152 if (!dvbdev->writers) in dvb_generic_open() 154 dvbdev->writers--; in dvb_generic_open() 173 dvbdev->writers++; in dvb_generic_release()
|
| /kernel/linux/linux-6.6/drivers/media/dvb-core/ |
| H A D | dvbdev.c | 140 if (!dvbdev->writers) in dvb_generic_open() 142 dvbdev->writers--; in dvb_generic_open() 160 dvbdev->writers++; in dvb_generic_release()
|
| /kernel/linux/linux-5.10/drivers/media/firewire/ |
| H A D | firedtv-ci.c | 225 .writers = 1,
|
| /kernel/linux/linux-5.10/include/linux/sunrpc/ |
| H A D | cache.h | 113 atomic_t writers; /* how many time is /channel open */ member 114 time64_t last_close; /* if no writers, when did last close */ 115 time64_t last_warn; /* when we last warned about no writers */
|
| /kernel/linux/linux-6.6/include/linux/sunrpc/ |
| H A D | cache.h | 117 atomic_t writers; /* how many time is /channel open */ member 118 time64_t last_close; /* if no writers, when did last close */ 119 time64_t last_warn; /* when we last warned about no writers */
|
| /kernel/linux/linux-6.6/drivers/media/firewire/ |
| H A D | firedtv-ci.c | 225 .writers = 1,
|
| /kernel/linux/linux-5.10/drivers/media/pci/ttpci/ |
| H A D | av7110_ca.c | 355 .writers = 1,
|