Lines Matching refs:ringbuffer
50 mach_vm_reclaim_ring_t ringbuffer = NULL; in ringbuffer_init() local
53 kern_return_t kr = mach_vm_reclaim_ring_allocate(&ringbuffer, len, max_len); in ringbuffer_init()
55 return ringbuffer; in ringbuffer_init()
62 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
63 T_ASSERT_NOTNULL(ringbuffer, "ringbuffer is allocated");
64 T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.head, relaxed), 0ull, "head is zeroed");
65 T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.busy, relaxed), 0ull, "busy is zeroed");
66 T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.tail, relaxed), 0ull, "tail is zeroed");
69 T_ASSERT_EQ((size_t)ringbuffer->len, expected_len, "length is set correctly");
70 for (unsigned i = 0; i < ringbuffer->len; i++) {
71 mach_vm_reclaim_entry_t entry = &ringbuffer->entries[i];
82 mach_vm_reclaim_ring_t ringbuffer; variable
83 kern_return_t kr = mach_vm_reclaim_ring_allocate(&ringbuffer, 1, 1);
88 try_cancel(mach_vm_reclaim_ring_t ringbuffer, mach_vm_reclaim_id_t id, mach_vm_address_t addr, mach… in try_cancel() argument
93 kr = mach_vm_reclaim_try_cancel(ringbuffer, id, addr, size, behavior, &state, &update_accounting); in try_cancel()
96 kern_return_t tmp_kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer); in try_cancel()
106 allocate_and_defer_free(size_t size, mach_vm_reclaim_ring_t ringbuffer, in allocate_and_defer_free() argument
117 …kr = mach_vm_reclaim_try_enter(ringbuffer, *addr, size, behavior, &id, &should_update_kernel_accou… in allocate_and_defer_free()
119 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer); in allocate_and_defer_free()
126 allocate_and_defer_deallocate(size_t size, mach_vm_reclaim_ring_t ringbuffer, unsigned char val, ma… in allocate_and_defer_deallocate() argument
128 return allocate_and_defer_free(size, ringbuffer, val, VM_RECLAIM_DEALLOCATE, addr); in allocate_and_defer_deallocate()
137 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
139 mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, 1, &addr);
141 mach_vm_reclaim_ring_flush(ringbuffer, 1);
245 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); in reuse_reclaimed_entry() local
247 …mach_vm_reclaim_id_t idx = allocate_and_defer_free(kAllocationSize, ringbuffer, kValue, behavior, … in reuse_reclaimed_entry()
249 kr = mach_vm_reclaim_ring_flush(ringbuffer, 10); in reuse_reclaimed_entry()
251 bool usable = try_cancel(ringbuffer, idx, addr, kAllocationSize, behavior); in reuse_reclaimed_entry()
306 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); in allocate_and_suspend() local
310 kr = mach_vm_reclaim_ring_capacity(ringbuffer, &capacity); in allocate_and_suspend()
317 …mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, (unsigned ch… in allocate_and_suspend()
325 …kr = mach_vm_reclaim_try_enter(ringbuffer, addr, kAllocationSize, VM_RECLAIM_DEALLOCATE, &id, &sho… in allocate_and_suspend()
332 kr = mach_vm_deallocate(mach_task_self(), (mach_vm_address_t)ringbuffer, buffer_size); in allocate_and_suspend()
510 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
517 …mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, (unsigned ch…
538 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
545 err = mach_vm_reclaim_ring_capacity(ringbuffer, &capacity);
551 …mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, (unsigned ch…
566 mach_vm_reclaim_ring_t ringbuffer; variable
580 ringbuffer = ringbuffer_init();
583 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
588 ids[i] = allocate_and_defer_deallocate(sizes[i], ringbuffer, 0xAB, &addrs[i]);
593 success = try_cancel(ringbuffer, ids[i], addrs[i], sizes[i], VM_RECLAIM_DEALLOCATE);
595 …kr = mach_vm_reclaim_try_enter(ringbuffer, addrs[i], sizes[i], VM_RECLAIM_DEALLOCATE, &ids[i], &up…
598 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
608 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
612 success = try_cancel(ringbuffer, ids[i], addrs[i], sizes[i], VM_RECLAIM_DEALLOCATE);
614 …kr = mach_vm_reclaim_try_enter(ringbuffer, addrs[i], sizes[i], VM_RECLAIM_DEALLOCATE, &ids[i], &up…
617 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
626 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
634 kr = mach_vm_reclaim_update_kernel_accounting(ringbuffer);
638 success = try_cancel(ringbuffer, ids[i], addrs[i], sizes[i], VM_RECLAIM_DEALLOCATE);
651 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
653 mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, 1, &addr);
656 kr = mach_vm_reclaim_ring_capacity(ringbuffer, &capacity);
661 kr = mach_vm_deallocate(mach_task_self(), (mach_vm_address_t)ringbuffer, buffer_size);
664 mach_vm_reclaim_ring_flush(ringbuffer, 10);
689 mach_vm_reclaim_ring_t ringbuffer = ringbuffer_init(); variable
691 mach_vm_reclaim_id_t idx = allocate_and_defer_deallocate(kAllocationSize, ringbuffer, 1, &addr);
694 …kr = mach_vm_reclaim_try_enter(ringbuffer, addr, kAllocationSize, VM_RECLAIM_DEALLOCATE, &idx, &sh…
698 mach_vm_reclaim_ring_flush(ringbuffer, 2);
848 mach_vm_reclaim_ring_t ringbuffer; variable
849 kern_return_t kr = mach_vm_reclaim_ring_allocate(&ringbuffer, 1, 1);
863 mach_vm_reclaim_ring_t ringbuffer; variable
865 kern_return_t kr = mach_vm_reclaim_ring_allocate(&ringbuffer, 1, 1);
893 mach_vm_reclaim_ring_t ringbuffer; variable
902 kr = mach_vm_reclaim_ring_allocate(&ringbuffer, initial_len, max_len);
908 kr = mach_vm_reclaim_ring_capacity(ringbuffer, &old_capacity);
912 ids[i] = allocate_and_defer_deallocate(vm_page_size, ringbuffer, 'A', &addrs[i]);
915 id_tmp = allocate_and_defer_deallocate(vm_page_size, ringbuffer, 'X', &addr_tmp);
917 uint64_t initial_tail = os_atomic_load(&ringbuffer->indices.tail, relaxed);
921 kr = mach_vm_reclaim_ring_resize(ringbuffer, max_len);
925 …T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.head, relaxed), initial_tail, "head is incremented…
926 …T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.busy, relaxed), initial_tail, "busy is incremented…
927 T_EXPECT_EQ(os_atomic_load(&ringbuffer->indices.tail, relaxed), initial_tail, "tail is preserved");
930 kr = mach_vm_reclaim_ring_capacity(ringbuffer, &new_capacity);
938 kr = mach_vm_reclaim_query_state(ringbuffer, ids[i], VM_RECLAIM_DEALLOCATE, &state);
941 bool usable = try_cancel(ringbuffer, ids[i], addrs[i], vm_page_size, VM_RECLAIM_DEALLOCATE);
947 ids[i] = allocate_and_defer_deallocate(vm_page_size, ringbuffer, 'B', &addrs[i]);
950 id_tmp = allocate_and_defer_deallocate(vm_page_size, ringbuffer, 'X', &addr_tmp);
954 bool usable = try_cancel(ringbuffer, ids[i], addrs[i], vm_page_size, VM_RECLAIM_DEALLOCATE);