Re: Graph of the FreeBSD memory fragmentation

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Tue, 14 May 2024 08:14:22 UTC
Am 2024-05-14 03:54, schrieb Ryan Libby:
> That was a long winded way of saying: the "UMA bucket" axis is
> actually "vm phys free list order".
> 
> That said, I find that dimension confusing because in fact there's
> just one piece of information there, the average size of a free list
> entry, and it doesn't actually depend on the free list order.  The
> graph could be 2D.

It evolved into that...
At first I had a 3 dimensional dataset and the first try was to plot it 
as is (3D). The outcome (as points) was not as good as I wanted it to 
be, and plotting as lines gave the wrong direction of lines. I massaged 
the plotting instructions until it looked good enough. I did not try a 
2D plot. I agree, with different colors for each free list order a 2D 
plot may work too. If a 2D plot is better than a 3D plot in this case, 
depends on the mental model of the topic the viewer has. One size may 
not fit all. Feel free to experiment with other plotting styles.

> The paper that defines this fragmentation index also says that "the
> fragmentation index is only meaningful when an allocation fails".  Are
> you actually seeing any contiguous allocations failures in your
> measurements?

I'm not aware of such.
The index may only be meaningful for the purposes of the goal of the 
paper when there are such failures, but if you look at the graph and how 
it changed when Bojan changed the guard pages, I see value in the graph 
for more than what the paper suggests.

> Without that context, it seems like what the proposed sysctl reports
> is indirectly just the average size of free list entries.  We could
> just report that.

The calculation of the value is part of a bigger picture. The value 
returned is used by some other code to make decisions.

Bye,
Alexander.

-- 
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF