On 2019/7/27 6:19 下午, Yaowei Bai wrote:
> Unused list was killed by commit 2531d9ee61fa ("bcache: Kill unused freelist")
> but left these comments, let's drop them.
> 
> This patch doesn't introduce functional change.
> 
> Signed-off-by: Yaowei Bai <[email protected]>

Hi Yaowei,


> ---
>  drivers/md/bcache/alloc.c | 13 +++----------
>  drivers/md/bcache/super.c |  3 ---
>  2 files changed, 3 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/md/bcache/alloc.c b/drivers/md/bcache/alloc.c
> index 6f77682..c22c260 100644
> --- a/drivers/md/bcache/alloc.c
> +++ b/drivers/md/bcache/alloc.c
> @@ -33,13 +33,6 @@
>   * If we've got discards enabled, that happens when a bucket moves from the
>   * free_inc list to the free list.
>   *
> - * There is another freelist, because sometimes we have buckets that we know
> - * have nothing pointing into them - these we can reuse without waiting for
> - * priorities to be rewritten. These come from freed btree nodes and buckets
> - * that garbage collection discovered no longer had valid keys pointing into
> - * them (because they were overwritten). That's the unused list - buckets on 
> the
> - * unused list move to the free list, optionally being discarded in the 
> process.
> - *
It seems the above comments can still be applied to free_inc list (if
s/freelist/free_inc list), am I right ?

>   * It's also important to ensure that gens don't wrap around - with respect 
> to
>   * either the oldest gen in the btree or the gen on disk. This is quite
>   * difficult to do in practice, but we explicitly guard against it anyways - 
> if
> @@ -323,9 +316,9 @@ static int bch_allocator_thread(void *arg)
>  
>       while (1) {
>               /*
> -              * First, we pull buckets off of the unused and free_inc lists,
> -              * possibly issue discards to them, then we add the bucket to
> -              * the free list:
> +              * First, we pull buckets off of the free_inc list, possibly
> +              * issue discards to them, then we add the bucket to the free
> +              * list:
>                */

I am OK with this.

>               while (1) {
>                       long bucket;
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index 26e374f..eba38aa 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -544,9 +544,6 @@ void bch_prio_write(struct cache *ca)
>       atomic_long_add(ca->sb.bucket_size * prio_buckets(ca),
>                       &ca->meta_sectors_written);
>  
> -     //pr_debug("free %zu, free_inc %zu, unused %zu", fifo_used(&ca->free),
> -     //       fifo_used(&ca->free_inc), fifo_used(&ca->unused));
> -

There is no freelist in the above code, I suggest to not include the
above change into this patch.


>       for (i = prio_buckets(ca) - 1; i >= 0; --i) {
>               long bucket;
>               struct prio_set *p = ca->disk_buckets;
> 

Thanks.

-- 

Coly Li

Reply via email to