Re: [RFC v2] Add mempressure cgroup

From: Bartlomiej Zolnierkiewicz
Date: Tue Dec 11 2012 - 08:23:05 EST


On Monday 10 December 2012 21:05:12 Anton Vorontsov wrote:
> On Mon, Dec 10, 2012 at 01:23:09PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > On Monday 10 December 2012 10:58:38 Anton Vorontsov wrote:
> >
> > > +static void consume_memory(void)
> > > +{
> > > + unsigned int i = 0;
> > > + unsigned int j = 0;
> > > +
> > > + puts("consuming memory...");
> > > +
> > > + while (1) {
> > > + pthread_mutex_lock(&locks[i]);
> > > + if (!chunks[i]) {
> > > + chunks[i] = malloc(CHUNK_SIZE);
> > > + pabort(!chunks[i], 0, "chunks alloc failed");
> > > + memset(chunks[i], 0, CHUNK_SIZE);
> > > + j++;
> > > + }
> > > + pthread_mutex_unlock(&locks[i]);
> > > +
> > > + if (j >= num_chunks / 10) {
> > > + add_reclaimable(num_chunks / 10);
> >
> > Shouldn't it use j instead of num_chunks / 10 here?
>
> Um.. They should be equal. Or am I missing the point?

Oh, ok. You're right.

j > num_chunks / 10 condition should never happen and may be removed.

> > > + printf("added %d reclaimable chunks\n", j);
> > > + j = 0;
>
> Here, we reset it.
>
> > > + }
> > > +
> > > + i = (i + 1) % num_chunks;
> > > + }
> > > +}
>
> Thanks!
> Anton.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung Poland R&D Center
--
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/