/linux/include/linux/ |
H A D | folio_queue.h | 29 struct folio_queue { struct 32 struct folio_queue *next; /* Next queue segment or NULL */ argument 33 struct folio_queue *prev; /* Previous queue segment of NULL */ argument 53 static inline void folioq_init(struct folio_queue *folioq, unsigned int rreq_id) in folioq_init() argument 72 static inline unsigned int folioq_nr_slots(const struct folio_queue *folioq) in folioq_nr_slots() 84 static inline unsigned int folioq_count(struct folio_queue *folioq) in folioq_count() 96 static inline bool folioq_full(struct folio_queue *folioq) in folioq_full() 110 static inline bool folioq_is_marked(const struct folio_queue *folioq, unsigned int slot) in folioq_is_marked() 123 static inline void folioq_mark(struct folio_queue *folioq, unsigned int slot) in folioq_mark() 136 static inline void folioq_unmark(struct folio_queue *folioq, unsigned int slot) in folioq_unmark() [all …]
|
H A D | rolling_buffer.h | 25 struct folio_queue *head; /* Producer's insertion point */ 26 struct folio_queue *tail; /* Consumer's removal point */ 36 struct folio_queue *curr_folioq; /* Queue segment in which current folio resides */ 53 struct folio_queue *rolling_buffer_delete_spent(struct rolling_buffer *roll);
|
H A D | netfs.h | 25 struct folio_queue; 461 struct folio_queue *netfs_folioq_alloc(unsigned int rreq_id, gfp_t gfp, 463 void netfs_folioq_free(struct folio_queue *folioq, 468 struct folio_queue **_buffer, 470 void netfs_free_folioq_buffer(struct folio_queue *fq);
|
H A D | iov_iter.h | 151 const struct folio_queue *folioq = iter->folioq; in iterate_folioq()
|
/linux/Documentation/core-api/ |
H A D | folio_queue.rst | 15 * Querying information about a folio_queue 24 The folio_queue struct forms a single segment in a segmented list of folios 30 struct folio_queue { 31 struct folio_queue *next; 32 struct folio_queue *prev; 52 #include <linux/folio_queue.h> 64 void folioq_init(struct folio_queue *folioq); 77 unsigned int folioq_append(struct folio_queue *folioq, 80 unsigned int folioq_append_mark(struct folio_queue *folioq, 91 void folioq_clear(struct folio_queue *folioq, unsigned int slot); [all …]
|
H A D | index.rst | 40 folio_queue
|
/linux/fs/netfs/ |
H A D | rolling_buffer.c | 25 struct folio_queue *netfs_folioq_alloc(unsigned int rreq_id, gfp_t gfp, in netfs_folioq_alloc() 28 struct folio_queue *fq; in netfs_folioq_alloc() 48 void netfs_folioq_free(struct folio_queue *folioq, in netfs_folioq_free() 65 struct folio_queue *fq; in rolling_buffer_init() 82 struct folio_queue *fq, *head = roll->head; in rolling_buffer_make_space() 120 struct folio_queue *fq; in rolling_buffer_load_from_ra() 186 struct folio_queue *rolling_buffer_delete_spent(struct rolling_buffer *roll) in rolling_buffer_delete_spent() 188 struct folio_queue *spent = roll->tail, *next = READ_ONCE(spent->next); in rolling_buffer_delete_spent() 204 struct folio_queue *p; in rolling_buffer_clear()
|
H A D | misc.c | 20 struct folio_queue **_buffer, in netfs_alloc_folioq_buffer() 23 struct folio_queue *tail = *_buffer, *p; in netfs_alloc_folioq_buffer() 78 void netfs_free_folioq_buffer(struct folio_queue *fq) in netfs_free_folioq_buffer() 80 struct folio_queue *next; in netfs_free_folioq_buffer()
|
H A D | read_pgpriv2.c | 168 struct folio_queue *folioq = creq->buffer.tail; in netfs_pgpriv2_unlock_copied_folios()
|
H A D | iterator.c | 199 const struct folio_queue *folioq = iter->folioq; in netfs_limit_folioq()
|
H A D | read_collect.c | 43 struct folio_queue *folioq, in netfs_unlock_read_folio() 105 struct folio_queue *folioq = rreq->buffer.tail; in netfs_read_unlock_folios()
|
H A D | read_retry.c | 301 struct folio_queue *p; in netfs_unlock_abandoned_read_pages()
|
H A D | write_issue.c | 866 struct folio_queue *fq; in netfs_writeback_single() 894 for (fq = (struct folio_queue *)iter->folioq; fq; fq = fq->next) { in netfs_writeback_single()
|
H A D | internal.h | 62 struct folio_queue *netfs_buffer_make_space(struct netfs_io_request *rreq,
|
H A D | write_collect.c | 114 struct folio_queue *folioq = wreq->buffer.tail; in netfs_writeback_unlock_folios()
|
/linux/lib/ |
H A D | kunit_iov_iter.c | 15 #include <linux/folio_queue.h> 368 struct folio_queue *folioq, *next; 381 struct folio_queue *folioq, 384 struct folio_queue *p = folioq; in iov_kunit_load_folioq() 390 p->next = kzalloc(sizeof(struct folio_queue), GFP_KERNEL); in iov_kunit_load_folioq() 402 static struct folio_queue *iov_kunit_create_folioq(struct kunit *test) in iov_kunit_load_folioq() 404 struct folio_queue *folioq; 406 folioq = kzalloc(sizeof(struct folio_queue), GFP_KERNEL); in iov_kunit_create_folioq() 420 struct folio_queue *folioq; in iov_kunit_copy_to_folioq() 482 struct folio_queue *folio in iov_kunit_copy_from_folioq() [all...] |
H A D | iov_iter.c | 534 const struct folio_queue *folioq = i->folioq; in iov_iter_folioq_advance() 587 const struct folio_queue *folioq = i->folioq; in iov_iter_folioq_revert() 726 const struct folio_queue *folioq, unsigned int first_slot, in iov_iter_folio_queue() 1003 const struct folio_queue *folioq = iter->folioq; in iter_folioq_get_pages() 1587 const struct folio_queue *folioq = i->folioq; in iov_iter_extract_folioq_pages()
|
H A D | scatterlist.c | 1275 const struct folio_queue *folioq = iter->folioq; in extract_folioq_to_sg()
|
/linux/fs/afs/ |
H A D | dir_search.c | 69 struct folio_queue *fq = iter->fq; in afs_dir_find_block()
|
H A D | internal.h | 710 struct folio_queue *directory; /* Directory contents */ 982 struct folio_queue *fq;
|
H A D | dir_edit.c | 113 struct folio_queue *fq; in afs_dir_get_block()
|
/linux/fs/smb/client/ |
H A D | smb2ops.c | 4366 static void cifs_clear_folioq_buffer(struct folio_queue *buffer) in cifs_clear_folioq_buffer() 4368 struct folio_queue *folioq; in cifs_clear_folioq_buffer() 4382 static struct folio_queue *cifs_alloc_folioq_buffer(ssize_t size) in cifs_alloc_folioq_buffer() 4384 struct folio_queue *buffer = NULL, *tail = NULL, *p; in cifs_alloc_folioq_buffer() 4422 struct folio_queue *buffer) in cifs_copy_iter_to_folioq() 4470 struct folio_queue *buffer; in smb3_init_transform_rq() 4576 cifs_copy_folioq_to_iter(struct folio_queue *folioq, size_t data_size, in cifs_copy_folioq_to_iter() 4600 char *buf, unsigned int buf_len, struct folio_queue *buffer, in handle_read_data() 4748 struct folio_queue *buffer;
|
H A D | cifsglob.h | 295 struct folio_queue *rq_buffer; /* Buffer for encryption */
|
H A D | smbdirect.c | 2536 const struct folio_queue *folioq = iter->folioq; in smb_extract_folioq_to_rdma()
|
/linux/include/trace/events/ |
H A D | netfs.h | 717 TP_PROTO(const struct folio_queue *fq,
|