Lines Matching defs:memory
55 * stored in SHM and our OS does not commit the memory before we use
66 * number of active blocks (seg->n_blocks) using its shared memory.
83 return seg->memory.type == PA_MEM_TYPE_SHARED_MEMFD;
94 /* Called whenever an imported memory block is no longer
118 /* Called whenever a client from which we imported a memory block
120 revoke the memory block accordingly */
148 pa_shm memory;
268 slot = (struct mempool_slot*) ((uint8_t*) p->memory.ptr + (p->block_size * (size_t) idx));
296 pa_assert((uint8_t*) ptr >= (uint8_t*) p->memory.ptr);
297 pa_assert((uint8_t*) ptr < (uint8_t*) p->memory.ptr + p->memory.size);
299 return (unsigned) ((size_t) ((uint8_t*) ptr - (uint8_t*) p->memory.ptr) / p->block_size);
309 return (struct mempool_slot*) ((uint8_t*) p->memory.ptr + (idx * p->block_size));
574 * probably waste some considerable amount of memory */
658 * memory block before we can go on. Unfortunately this means
694 /* Humm, not enough space in the pool, so lets allocate the memory with malloc() */
779 * mapping on both PA endpoints. Such memory regions are then always
812 if (pa_shm_create_rw(&p->memory, type, p->n_blocks * p->block_size, 0700) < 0) {
817 pa_log_debug("Using %s memory pool with %u slots of size %s each, total size is"
857 /* Ouch, somebody is retaining a memory block reference! */
863 /* Let's try to find at least one of those leaked memory blocks */
871 slot = (struct mempool_slot*) ((uint8_t*) p->memory.ptr + (p->block_size * (size_t) i));
883 pa_log_error("REF: Leaked memory block %p", b);
894 pa_log_error("Memory pool destroyed but not all memory blocks freed! %u remain.",
900 pa_shm_free(&p->memory);
936 pa_shm_punch(&p->memory, (size_t) ((uint8_t*) slot - (uint8_t*) p->memory.ptr), p->block_size);
949 return pa_mem_type_is_shared(p->memory.type);
956 return (p->memory.type == PA_MEM_TYPE_SHARED_MEMFD);
966 *id = p->memory.id;
1020 memfd_fd = p->memory.fd;
1021 p->memory.fd = -1;
1045 memfd_fd = p->memory.fd;
1088 if (pa_shm_attach(&seg->memory, type, shm_id, memfd_fd, writable) < 0) {
1095 seg->trap = pa_memtrap_add(seg->memory.ptr, seg->memory.size);
1097 pa_hashmap_put(i->segments, PA_UINT32_TO_PTR(seg->memory.id), seg);
1106 pa_hashmap_remove(seg->import->segments, PA_UINT32_TO_PTR(seg->memory.id));
1107 pa_shm_free(&seg->memory);
1163 * memory region) as its value.
1230 if (offset+size > seg->memory.size)
1242 pa_atomic_ptr_store(&b->data, (uint8_t*) seg->memory.ptr + offset);
1421 pa_shm *memory;
1461 memory = &b->per_type.imported.segment->memory;
1466 memory = &b->pool->memory;
1469 pa_assert(data >= memory->ptr);
1470 pa_assert((uint8_t*) data + b->length <= (uint8_t*) memory->ptr + memory->size);
1472 *type = memory->type;
1473 *shm_id = memory->id;
1474 *offset = (size_t) ((uint8_t*) data - (uint8_t*) memory->ptr);