Lines Matching refs:pages

50     MultiFDPages_t *pages = &p->data->u.ram;  in multifd_set_file_bitmap()  local
52 assert(pages->block); in multifd_set_file_bitmap()
54 for (int i = 0; i < pages->normal_num; i++) { in multifd_set_file_bitmap()
55 ramblock_set_file_bmap_atomic(pages->block, pages->offset[i], true); in multifd_set_file_bitmap()
58 for (int i = pages->normal_num; i < pages->num; i++) { in multifd_set_file_bitmap()
59 ramblock_set_file_bmap_atomic(pages->block, pages->offset[i], false); in multifd_set_file_bitmap()
90 MultiFDPages_t *pages = &p->data->u.ram; in multifd_send_prepare_iovs() local
93 for (int i = 0; i < pages->normal_num; i++) { in multifd_send_prepare_iovs()
94 p->iov[p->iovs_num].iov_base = pages->block->host + pages->offset[i]; in multifd_send_prepare_iovs()
99 p->next_packet_size = pages->normal_num * page_size; in multifd_send_prepare_iovs()
183 static void multifd_pages_reset(MultiFDPages_t *pages) in multifd_pages_reset() argument
189 pages->num = 0; in multifd_pages_reset()
190 pages->normal_num = 0; in multifd_pages_reset()
191 pages->block = NULL; in multifd_pages_reset()
197 MultiFDPages_t *pages = &p->data->u.ram; in multifd_ram_fill_packet() local
198 uint32_t zero_num = pages->num - pages->normal_num; in multifd_ram_fill_packet()
201 packet->normal_pages = cpu_to_be32(pages->normal_num); in multifd_ram_fill_packet()
204 if (pages->block) { in multifd_ram_fill_packet()
206 pages->block->idstr); in multifd_ram_fill_packet()
209 for (int i = 0; i < pages->num; i++) { in multifd_ram_fill_packet()
211 uint64_t temp = pages->offset[i]; in multifd_ram_fill_packet()
216 trace_multifd_send_ram_fill(p->id, pages->normal_num, in multifd_ram_fill_packet()
291 static inline bool multifd_queue_empty(MultiFDPages_t *pages) in multifd_queue_empty() argument
293 return pages->num == 0; in multifd_queue_empty()
296 static inline bool multifd_queue_full(MultiFDPages_t *pages) in multifd_queue_full() argument
298 return pages->num == multifd_ram_page_count(); in multifd_queue_full()
301 static inline void multifd_enqueue(MultiFDPages_t *pages, ram_addr_t offset) in multifd_enqueue() argument
303 pages->offset[pages->num++] = offset; in multifd_enqueue()
309 MultiFDPages_t *pages; in multifd_queue_page() local
312 pages = &multifd_ram_send->u.ram; in multifd_queue_page()
315 multifd_pages_reset(pages); in multifd_queue_page()
320 if (multifd_queue_empty(pages)) { in multifd_queue_page()
321 pages->block = block; in multifd_queue_page()
322 multifd_enqueue(pages, offset); in multifd_queue_page()
334 if (pages->block != block || multifd_queue_full(pages)) { in multifd_queue_page()
342 multifd_enqueue(pages, offset); in multifd_queue_page()
364 MultiFDPages_t *pages = &p->data->u.ram; in multifd_send_prepare_common() local
368 if (!pages->normal_num) { in multifd_send_prepare_common()