Re: [RFC][PATCH 03/10] zsmalloc: introduce zs_can_compact() function
From: Sergey Senozhatsky
Date: Wed Jun 03 2015 - 23:42:23 EST
On (06/04/15 12:30), Minchan Kim wrote:
> > -- free objects in class: 5 (free-objs class capacity)
> > -- page1: inuse 2
> > -- page2: inuse 2
> > -- page3: inuse 3
> > -- page4: inuse 2
>
> What scenario do you have a cocern?
> Could you describe this example more clear?
you mean "how is this even possible"?
well, for example,
make -jX
make clean
can introduce a significant fragmentation. no new objects, just random
objs removal. assuming that we keep some of the objects, allocated during
compilation.
e.g.
...
page1
allocate baz.so
allocate foo.o
page2
allocate bar.o
allocate foo.so
...
pageN
now `make clean`
page1:
allocated baz.so
empty
page2
empty
allocated foo.so
...
pageN
in the worst case, every page can turn out to be ALMOST_EMPTY.
-ss
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/