Rename allocation priorities, Raise logblk (dsk) priority by one

it is more important than objects

Should also contribute to a fix for #28
parent 98e78f01
......@@ -1126,7 +1126,7 @@ fellow_logcache_init(struct fellow_logcache *flc, struct fellow_fd *ffd,
cram = INT8_MIN;
flc->alloc_entry = buddy_alloc1_ptr_page_wait(ffd->membuddy,
FEP_LOG, (uint8_t)u, (int8_t)cram);
FEP_MEM_FLC, (uint8_t)u, (int8_t)cram);
AN(flc->alloc_entry.ptr);
sz = (size_t)1 << flc->alloc_entry.bits;
assert(sz >= sizeof *fle);
......@@ -1136,7 +1136,7 @@ fellow_logcache_init(struct fellow_logcache *flc, struct fellow_fd *ffd,
sz = BUDDY_REQS_MAX;
reqs = BUDDY_REQS_STK(ffd->membuddy, BUDDY_REQS_MAX);
BUDDY_REQS_PRI(reqs, FEP_LOG);
BUDDY_REQS_PRI(reqs, FEP_MEM_FLC);
for (u = 0; u < sz; u++)
AN(buddy_req_page(reqs, MIN_FELLOW_BITS, 0));
u = buddy_alloc_wait(reqs);
......@@ -1981,12 +1981,12 @@ logbuffer_grow(struct fellow_logbuffer *lbuf, uint8_t initialbits)
if (old.alloc.bits == 0) {
AN(initialbits);
lbuf->alloc = buddy_alloc1_ptr_page_wait(
lbuf->membuddy, FEP_LOG,
lbuf->membuddy, FEP_MEM_LBUF,
initialbits, (int8_t)initialbits);
} else {
AZ(initialbits);
lbuf->alloc = buddy_alloc1_ptr_page_wait(
lbuf->membuddy, FEP_LOG, old.alloc.bits + 1, 0);
lbuf->membuddy, FEP_MEM_LBUF, old.alloc.bits + 1, 0);
}
MEM(lbuf->membuddy);
lbuf->arr = lbuf->alloc.ptr;
......@@ -2101,7 +2101,7 @@ fellow_logblk_new(buddy_t *membuddy, unsigned wait, uint8_t fht, uint8_t id)
if (wait == 0)
e = buddy_alloc1_ptr_extent(membuddy, sz, 0);
else
e = buddy_alloc1_ptr_extent_wait(membuddy, FEP_LOG, sz, 0);
e = buddy_alloc1_ptr_extent_wait(membuddy, FEP_MEM_LOG, sz, 0);
if (e.ptr == NULL)
return (NULL);
......@@ -2267,7 +2267,7 @@ logbuffer_alloc_some(struct fellow_logbuffer *lbuf,
lbuf->dskreqs_mem.reqs.magic == 0 &&
lbuf->logreg->free_n * 5 < lbuf->logreg->space) {
BUDDY_REQS_INIT(&lbuf->dskreqs_mem, lbuf->membuddy);
BUDDY_REQS_PRI(&lbuf->dskreqs_mem.reqs, FEP_LOG);
BUDDY_REQS_PRI(&lbuf->dskreqs_mem.reqs, FEP_MEM_LOG);
AN(buddy_req_extent(&lbuf->dskreqs_mem.reqs,
sizeof *lbuf->dskreqs, 0));
(void) buddy_alloc_async(&lbuf->dskreqs_mem.reqs);
......@@ -2287,7 +2287,7 @@ logbuffer_alloc_some(struct fellow_logbuffer *lbuf,
dskreqs = alloc.ptr;
for (i = 0; i < 2; i++) {
BUDDY_REQS_INIT(&(*dskreqs)[i], lbuf->dskbuddy);
BUDDY_REQS_PRI(&(*dskreqs)[i].reqs, FEP_LOG);
BUDDY_REQS_PRI(&(*dskreqs)[i].reqs, FEP_DSK_LOG);
logbuffer_fill_dskreq(&(*dskreqs)[i].reqs);
}
lbuf->dskreqs = dskreqs;
......@@ -5153,8 +5153,8 @@ fellow_logs_rewrite(struct fellow_fd *ffd,
AZ(ffd->size & FELLOW_BLOCK_ALIGN);
nblocks = ffd->size >> MIN_FELLOW_BITS;
bitfmem = buddy_alloc1_ptr_extent_wait(ffd->membuddy, FEP_LOG,
bitf_sz(nblocks), 0);
bitfmem = buddy_alloc1_ptr_extent_wait(ffd->membuddy,
FEP_MEM_LOG, bitf_sz(nblocks), 0);
XXXAN(bitfmem.ptr);
MEM(ffd->membuddy);
bitf = bitf_init(bitfmem.ptr, nblocks, bitfmem.size);
......
......@@ -152,7 +152,7 @@ fellow_dlechg_alloc(struct fellow_dlechg_top *fdct)
* BUDDY_REQS_MAX = 255 x 64 bytes = ~16KB
*/
reqs = BUDDY_REQS_STK(fdct->buddy, BUDDY_REQS_MAX);
BUDDY_REQS_PRI(reqs, FEP_LOG);
BUDDY_REQS_PRI(reqs, FEP_MEM_DLECHG);
sz = buddy_rndup(fdct->buddy, sizeof *fdc);
for (u = 0; u < BUDDY_REQS_MAX; u++)
AN(buddy_req_extent(reqs, sz, 0));
......
......@@ -19,12 +19,17 @@
* 02110-1301 USA Also add information on how to contact you by
* electronic and paper mail.
*/
// mem dsk
#define FEP_RESERVE 0 // reservation reservation
#define FEP_GET 1 // obj_get object, body
#define FEP_NEW 2 // busy_obj_alloc
#define FEP_SPC 3 // sfemem_getspace
#define FEP_ITER 4 // sfemem_iterator
#define FEP_META 2 // segments etc.
#define FEP_LOG 3 // log
#define FEP_FREE 4 // regionlist
// mem dsk
#define FEP_RESERVE 0 // reservation reservation
#define FEP_GET 1 // obj_get object, body
#define FEP_NEW 2 // busy_obj_alloc busy_obj_alloc
#define FEP_SPC 3 // sfemem_getspace busy_region_alloc
#define FEP_ITER 4 // sfemem_iterator
#define FEP_META 2 // segments etc.
#define FEP_MEM_LOG 3 // logblk_new, ...
// ... logbuffer_alloc_some, bitf
#define FEP_MEM_LBUF 3 // logbuffer_*
#define FEP_MEM_FLC 3 // fellow_logcache_*
#define FEP_MEM_DLECHG 3 // fellow_dlechg_*
#define FEP_MEM_FREE 4 // regionlist
#define FEP_DSK_LOG 4 // logbuffer_alloc_some
......@@ -124,7 +124,7 @@ regl_alloc_bits(buddy_t *membuddy, const uint8_t bits, int8_t cram,
if (cram > c)
cram = c;
alloc = buddy_alloc1_ptr_page_wait(membuddy, FEP_FREE, bits, cram);
alloc = buddy_alloc1_ptr_page_wait(membuddy, FEP_MEM_FREE, bits, cram);
AN(alloc.ptr);
sz = (size_t)1 << alloc.bits;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment