Add a cramlimit function on page sizes

parent 3b9df28e
......@@ -199,13 +199,12 @@ npages(size_t size, unsigned bits)
* not be smaller than 1<<bits
*/
int8_t
BUDDYF(cramlimit_extent_minbits)(size_t sz, int8_t cram, int8_t bits)
BUDDYF(cramlimit_page_minbits)(int8_t up, int8_t cram, int8_t bits)
{
int8_t up;
if (cram == 0)
return (cram);
up = (int8_t)(uint8_t)log2up(sz);
assert(up >= bits);
up -= bits;
if (abs(cram) <= up)
......@@ -213,6 +212,17 @@ BUDDYF(cramlimit_extent_minbits)(size_t sz, int8_t cram, int8_t bits)
return (cram < 0 ? 0 - up : up);
}
int8_t
BUDDYF(cramlimit_extent_minbits)(size_t sz, int8_t cram, int8_t bits)
{
if (cram == 0)
return (cram);
return (BUDDYF(cramlimit_page_minbits)(
(int8_t)(uint8_t)log2up(sz), cram, bits));
}
/************************************************************
* init free map
......
......@@ -88,6 +88,7 @@ typedef struct BUDDY buddy_t;
*/
void * BUDDYF(mmap)(size_t *, void *);
void BUDDYF(unmap)(void **, size_t, void **);
int8_t BUDDYF(cramlimit_page_minbits)(int8_t, int8_t, int8_t);
int8_t BUDDYF(cramlimit_extent_minbits)(size_t, int8_t, int8_t);
static inline int
abslimit(int val, int lim)
......
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