Re: [RFC PATCH 02/11] refcount: Implement inc/decrement-and-return functions

From: Peter Zijlstra
Date: Mon Sep 04 2017 - 03:30:31 EST


On Fri, Sep 01, 2017 at 11:51:53PM +0100, David Howells wrote:
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > if (obj) {
> > /* use obj */
> > refcount_dec(&obj->refs); /* should never hit 0 */
> > }
>
> You've missed a bit: We need to tell the gc to run when we reduce the refcount
> to 1:
>
> if (obj) {
> ...
> if (refcount_dec_return(&obj->refs) == 1)
> schedule_gc();
> }

Ah, so that isn't fundamental to having a GC. But yes if that's your
requirement, then this makes sense.

Please clarify in the Changelog.