Messages in this thread | | | Date | Mon, 10 Jul 2023 18:58:35 +0800 | Subject | Re: [PATCH] mm: kfence: allocate kfence_metadata at runtime | From | Peng Zhang <> |
| |
在 2023/7/10 18:37, Alexander Potapenko 写道: > On Mon, Jul 10, 2023 at 5:27 AM 'Peng Zhang' via kasan-dev > <kasan-dev@googlegroups.com> wrote: >> >> kfence_metadata is currently a static array. For the purpose of >> allocating scalable __kfence_pool, we first change it to runtime >> allocation of metadata. Since the size of an object of kfence_metadata >> is 1160 bytes, we can save at least 72 pages (with default 256 objects) >> without enabling kfence. >> >> Below is the numbers obtained in qemu (with default 256 objects). >> before: Memory: 8134692K/8388080K available (3668K bss) >> after: Memory: 8136740K/8388080K available (1620K bss) >> More than expected, it saves 2MB memory. > > Do you have an understanding of where these 2MB come from? > According to your calculations (which seem valid) the gain should be > 290K, so either 2MB is irrelevant to your change (then these numbers > should be omitted), or there's some hidden cost that we do not know > about. I don't know why the 2MB memory was saved, but it looks like it has to do with the .bss section, maybe removing this array affected the linker?
| |