Clarify allocation failure

parent 1a6c3343
...@@ -595,6 +595,9 @@ typedef void buddy_pool_fill_f(struct buddy_reqs *, const void *); ...@@ -595,6 +595,9 @@ typedef void buddy_pool_fill_f(struct buddy_reqs *, const void *);
/* /*
* i < 3: If both reqs are empty, at iteration 3 we * i < 3: If both reqs are empty, at iteration 3 we
* must hit the first filled alloc * must hit the first filled alloc
*
* The XXXAN() (failed allocation) can trigger during load from
* fellow_log_memfail()
*/ */
#define BUDDY_POOL_GET_FUNC(name, decl) \ #define BUDDY_POOL_GET_FUNC(name, decl) \
decl struct buddy_reqs * \ decl struct buddy_reqs * \
...@@ -611,7 +614,7 @@ name ## _get(struct name *poolp, const void *priv) \ ...@@ -611,7 +614,7 @@ name ## _get(struct name *poolp, const void *priv) \
CHECK_OBJ_NOTNULL(reqs, BUDDY_REQS_MAGIC); \ CHECK_OBJ_NOTNULL(reqs, BUDDY_REQS_MAGIC); \
if (buddy_reqs_next_ready(reqs)) \ if (buddy_reqs_next_ready(reqs)) \
return (reqs); \ return (reqs); \
(void) BUDDYF(alloc_async_wait)(reqs); \ XXXAN(BUDDYF(alloc_async_wait)(reqs)); \
if (buddy_reqs_next_ready(reqs)) \ if (buddy_reqs_next_ready(reqs)) \
return (reqs); \ return (reqs); \
BUDDYF(alloc_wait_done)(reqs); \ BUDDYF(alloc_wait_done)(reqs); \
......
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