Introduce new priorities

parent 76f38961
......@@ -50,7 +50,7 @@ VTAILQ_HEAD(buddy_reqs_head, buddy_reqs);
#define WHEN_VAR
#endif
#define BUDDY_WAIT_MAXPRI 4
#define BUDDY_WAIT_MAXPRI 8
struct BUDDY {
unsigned magic;
......
......@@ -1514,7 +1514,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
assert(u <= UINT8_MAX);
bits = (uint8_t)u;
fco_mem = buddy_alloc1_ptr_page_wait(fc->membuddy,
FEP_NORMAL, bits, 0);
FEP_GET, bits, 0);
if (FC_INJ || fco_mem.ptr == NULL) {
fcr = FCR_ALLOCFAIL("fco_mem alloc failed");
goto err;
......@@ -1524,7 +1524,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
}
fdo_mem = buddy_alloc1_ptr_extent_wait(fc->membuddy,
FEP_NORMAL, asz, 0);
FEP_GET, asz, 0);
if (FC_INJ || fdo_mem.ptr == NULL) {
fcr = FCR_ALLOCFAIL("fdo_mem alloc failed");
......@@ -1593,7 +1593,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
size_t sz, asz, dsk_sz;
uint16_t ldsegs;
fbo_mem = buddy_alloc1_ptr_extent_wait(fc->membuddy, FEP_NORMAL,
fbo_mem = buddy_alloc1_ptr_extent_wait(fc->membuddy, FEP_GET,
sizeof *fbo, 0);
fbo = fbo_mem.ptr;
if (fbo == NULL) {
......@@ -1630,7 +1630,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
// XXX delay to allow new objects during FP_INIT ?
fds_seg = FC_INJ ? buddy_off_extent_nil :
fellow_region_alloc(fc->ffd, FEP_NORMAL, dsk_sz, 0);
fellow_region_alloc(fc->ffd, FEP_GET, dsk_sz, 0);
if (fds_seg.off < 0) {
fcr = FCR_ALLOCFAIL("fds region");
fellow_cache_res_check(fc, fcr);
......@@ -1738,7 +1738,7 @@ fellow_busy_region_alloc(struct fellow_busy *fbo, size_t size, int8_t cram)
fdr = &fbo->region[fbo->nregion];
*fdr = FC_INJ ? buddy_off_extent_nil :
fellow_region_alloc(fc->ffd, FEP_NORMAL, size, cram);
fellow_region_alloc(fc->ffd, FEP_GET, size, cram);
if (fdr->off < 0) {
return (NULL);
......@@ -2964,7 +2964,7 @@ fellow_cache_seg_ref_in(struct fellow_cache *fc, enum fellow_cache_io_e type,
assert(n <= BUDDY_REQS_MAX);
reqs = BUDDY_REQS_STK(fc->membuddy, BUDDY_REQS_MAX);
BUDDY_REQS_PRI(reqs, FEP_NORMAL);
BUDDY_REQS_PRI(reqs, FEP_GET);
rets = BUDDY_RETURNS_STK(fc->membuddy, BUDDY_RETURNS_MAX);
memset(iosegs, 0, sizeof iosegs);
......@@ -3335,7 +3335,7 @@ static size_t fellow_busy_seg_memalloc(buddy_t *membuddy,
AZ(fcs->alloc.ptr);
AZ(fcs->alloc.size);
fcs->alloc = buddy_alloc1_ptr_extent_wait(membuddy, FEP_NORMAL,
fcs->alloc = buddy_alloc1_ptr_extent_wait(membuddy, FEP_GET,
fds->seg.size, 0);
if (fcs->alloc.ptr == NULL)
......
......@@ -19,9 +19,12 @@
* 02110-1301 USA Also add information on how to contact you by
* electronic and paper mail.
*/
#define FEP_RESERVE 0 // reservation
#define FEP_NORMAL 1 // object, body
// 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
......@@ -2813,7 +2813,7 @@ sfe_allocbuf(struct worker *wrk, const struct stevedore *stv, size_t size,
CAST_OBJ_NOTNULL(stvfe, stv->priv, STVFE_MAGIC);
AN(ppriv);
p = buddy_malloc_wait(stvfe->membuddy, size, FEP_NORMAL);
p = buddy_malloc_wait(stvfe->membuddy, size, FEP_GET);
if (p == NULL)
return (NULL);
*ppriv = (uintptr_t)p;
......
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