From 36cb95c73692b7b69a44fd010ea1bce38bcc0338 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 3 Feb 2020 19:29:02 +0000 Subject: [PATCH] Disable the smallest UMA bucket size on 32-bit platforms. With r357314, sizeof(struct uma_bucket) grew to 16 bytes on 32-bit platforms, so BUCKET_SIZE(4) is 0. This resulted in the creation of a bucket zone for buckets with zero capacity. A more general fix is planned, but for now this bandaid allows 32-bit platforms to boot again. PR: 243837 Discussed with: jeff Reported by: pho, Jenkins via lwhsu Tested by: pho Sponsored by: The FreeBSD Foundation --- sys/vm/uma_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index eb2c31ab52a..688504bb966 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -239,7 +239,9 @@ struct uma_bucket_zone { #define BUCKET_MIN BUCKET_SIZE(4) struct uma_bucket_zone bucket_zones[] = { +#ifndef __ILP32__ { NULL, "4 Bucket", BUCKET_SIZE(4), 4096 }, +#endif { NULL, "6 Bucket", BUCKET_SIZE(6), 3072 }, { NULL, "8 Bucket", BUCKET_SIZE(8), 2048 }, { NULL, "12 Bucket", BUCKET_SIZE(12), 1536 },