Re: Defects about bcache GC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 18, 2020 at 07:52:10PM +0800, Coly Li wrote:
> On 12/18/20 6:35 PM, Lin Feng wrote:
> > Hi all,
> > 
> > I googled a lot but only finding this, my question is if this issue have
> > been fixed or
> > if there are ways to work around?
> > 
> >> On Wed, 28 Jun 2017, Coly Li wrote:
> >>
> >> > On 2017/6/27 下午8:04, tang.junhui@xxxxxxxxxx wrote:
> >> > > Hello Eric, Coly,
> >> > >
> >> > > I use a 1400G SSD device a bcache cache device,
> >> > > and attach with 10 back-end devices,
> >> > > and run random small write IOs,
> >> > > when gc works, It takes about 15 seconds,
> >> > > and the up layer application IOs was suspended at this time,
> >> > > How could we bear such a long time IO stopping?
> >> > > Is there any way we can avoid this problem?
> >> > >
> >> > > I am very anxious about this question, any comment would be valuable.
> >> >
> >> > I encounter same situation too.
> >> > Hmm, I assume there are some locking issue here, to prevent application
> >> > to send request and insert keys in LSM tree, no matter in writeback or
> >> > writethrough mode. This is a lazy and fast response, I need to check
> > the
> >> > code then provide an accurate reply :-)
> >>
> > 
> > I encoutered even worse situation(8TB ssd cached for 4*10 TB disks) as
> > mail extracted above,
> > all usrer IOs are hung during bcache GC runs, my kernel is 4.18, while I
> > tested it with kernel 5.10,
> > it seems that situation is unchaged.
> > 
> > Below are some logs for reference.
> > GC trace events:
> > [Wed Dec 16 15:08:40 2020]   ##48735 [046] .... 1632697.784097:
> > bcache_gc_start: 4ab63029-0c4a-42a8-8f54-e638358c2c6c
> > [Wed Dec 16 15:09:01 2020]   ##48735 [034] .... 1632718.828510:
> > bcache_gc_end: 4ab63029-0c4a-42a8-8f54-e638358c2c6c
> > 
> > and during which iostat shows like:
> > 12/16/2020 03:08:48 PM
> > Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
> > avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
> > sdb               0.00     0.50 1325.00   27.00 169600.00   122.00  
> > 251.07     0.32    0.24    0.24    0.02   0.13  17.90
> > sdc               0.00     0.00    0.00    0.00     0.00     0.00    
> > 0.00     0.00    0.00    0.00    0.00   0.00   0.00
> > sdd               0.00     0.00    0.00    0.00     0.00     0.00    
> > 0.00     0.00    0.00    0.00    0.00   0.00   0.00
> > sde               0.00     0.00    0.00    0.00     0.00     0.00    
> > 0.00     0.00    0.00    0.00    0.00   0.00   0.00
> > sdf               0.00     0.00    0.00    0.00     0.00     0.00    
> > 0.00     0.00    0.00    0.00    0.00   0.00   0.00
> > bcache0           0.00     0.00    1.00    0.00     4.00     0.00    
> > 8.00    39.54    0.00    0.00    0.00 1000.00 100.00
> > 
> > # grep . /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/*gc*
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/btree_gc_average_duration_ms:26539
> > 
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/btree_gc_average_frequency_sec:8692
> > 
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/btree_gc_last_sec:6328
> > 
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/btree_gc_max_duration_ms:283405
> > 
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/copy_gc_enabled:1
> > 
> > /sys/fs/bcache/4ab63029-0c4a-42a8-8f54-e638358c2c6c/internal/gc_always_rewrite:1
> 
> I/O hang during GC is as-designed. We have plan to improve, but the I/O
> hang cannot be 100% avoided.

This is something that's entirely fixed in bcachefs - we update bucket sector
counts as keys enter/leave the btree so runtime btree GC is no longer needed.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux