Re: [RFC][PATCHv2 8/8] zsmalloc: register a shrinker to trigger auto-compaction
From: Sergey Senozhatsky
Date: Wed Jun 17 2015 - 23:58:08 EST
On (06/18/15 12:39), Minchan Kim wrote:
[..]
> > ah, I see.
> > it doesn't hold the lock `until all the pages are done`. it holds it
> > as long as zs_can_compact() returns > 0. hm, I'm not entirely sure that
> > this patch set has increased the locking time (in average).
>
> I see your point. Sorry for the consusing.
> My point is not average but max time. I bet your patch will increase
> it and it will affect others who want to allocate zspage in parallel on
> another CPU.
makes sense.
[..]
> > > Yes, it's not easy and I believe a few artificial testing are not enough
> > > to prove no regression but we don't have any choice.
> > > Actually, I think this patchset does make sense. Although it might have
> > > a problem on situation heavy memory pressure by lacking of fragment space,
> >
> >
> > I tested exactly this scenario yesterday (and sent an email). We leave `no holes'
> > in classes only in ~1.35% of cases. so, no, this argument is not valid. we preserve
> > fragmentation.
>
> Thanks, Sergey.
>
> I want to test by myself to simulate worst case scenario to make to use up
> reserved memory by zram. For it, please fix below first and resubmit, please.
>
> 1. doesn't hold lock until class compation is done.
> It could prevent another allocation on another CPU.
> I want to make worst case scenario and it needs it.
>
> 2. No touch ZS_ALMOST_FULL waterline. It can put more zspages
> in ZS_ALMOST_FULL list so it couldn't be selected by migration
> source.
>
> With new patchset, I want to watch min(free_pages of the system),
> zram.max_used_pages, testing time and so on.
>
> Really sorry for bothering you, Sergey but I think it's important
> feature on zram so I want to be careful because risk management is
> my role.
ok. will take a day or two to gather new numbers.
-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/