On 10.02.20 17:10, Ville Aakko wrote: > Hi, > > A fellow user responding here. > > I've noticed similar behavior and have asked on this same mailing list > previously. See: > https://www.spinics.net/lists/linux-bcache/msg07859.html > > Also seems there are other users with this issue on the Arch Forum, > where I have also started a discussion: > https://bbs.archlinux.org/viewtopic.php?id=250525 > There is yet to be a single user to reply there (or on this mailing > list) claiming they have a working setup (for caching reads). > > Judging from the Arch Linux thread, I have a hunch there were some > changes ~4.18, which broke read caching for many (all?) desktop users > (as anything which is flagged as readahed will not be cached, despite > setting sequential_cutoff). Also (again from the Arch thread) a > planned patch might enable expected read caching: "[PATCH 3/5] bcache: > add readahead cache policy options via sysfs interface" / see: > https://www.spinics.net/lists/linux-bcache/msg08074.html Indeed that patch works. Now I'm using the 5.6-rc1 kernel and the performance gain is huge. I only wonder, why the used cache number doesn't go up anymore like it did for pre-4.19 kernels. Linux kkb 5.6.0-050600rc1-generic #202002092032 SMP Mon Feb 10 01:36:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux --- bcache --- Device /dev/md0 (9:0) UUID d4f0e4cd-c2dc-4cec-bf5b-96f1f87ff0b8 Block Size 0.50KiB Bucket Size 512.00KiB Congested? False Read Congestion 0.0ms Write Congestion 0.0ms Total Cache Size 111.79GiB Total Cache Used 1.12GiB (0%) Total Cache Unused 110.67GiB (99%) Evictable Cache 111.79GiB (100%) Replacement Policy [lru] fifo random Cache Mode writethrough [writeback] writearound none Total Hits 0 Total Misses 0 Total Bypass Hits 0 Total Bypass Misses 0 Total Bypassed 0B 1st pass 0.00user 0.60system 0:08.66elapsed 6%CPU (0avgtext+0avgdata 2220maxresident)k 2097632inputs+0outputs (1major+115minor)pagefaults 0swaps 2nd pass 0.00user 0.47system 0:03.34elapsed 14%CPU (0avgtext+0avgdata 2216maxresident)k 2097128inputs+0outputs (1major+113minor)pagefaults 0swaps 3rd pass 0.00user 0.45system 0:02.58elapsed 17%CPU (0avgtext+0avgdata 2096maxresident)k 2097296inputs+0outputs (1major+110minor)pagefaults 0swaps --- bcache --- Device /dev/md0 (9:0) UUID d4f0e4cd-c2dc-4cec-bf5b-96f1f87ff0b8 Block Size 0.50KiB Bucket Size 512.00KiB Congested? False Read Congestion 0.0ms Write Congestion 0.0ms Total Cache Size 111.79GiB Total Cache Used 1.12GiB (0%) Total Cache Unused 110.67GiB (99%) Evictable Cache 110.67GiB (99%) Replacement Policy [lru] fifo random Cache Mode writethrough [writeback] writearound none Total Hits 6352 (51%) Total Misses 6075 Total Bypass Hits 0 Total Bypass Misses 0 As you can see, the reads must come from the SSD in the 2nd and 3rd pass, still "Total Cache Used" stays the same. > > However this is highly speculative from someone not understanding file > systems or insides of bcache or the code at all. > > Perhaps someone more involved can reply: is the current behavior > expected (reads are not getting cached practically at all). Also, is > the patch I've linked possibly going to fix the current issues? > > Kind Regards, > Ville Aakko > > > > su 9. helmik. 2020 klo 23.37 Postgarage Graz IT (it@xxxxxxxxxxxxx) kirjoitti: >> >> Hello! >> >> I noticed, that bcache is no longer caching reads on my system which >> makes it behave like if there were only hdds. >> >> I'm using two hdds in a raid 1 as the backing device and a single ssd as >> cache device: >> >> sda 8:0 0 111,8G 0 disk >> └─bcache0 252:0 0 921,9G 0 disk / >> sdb 8:16 0 931,5G 0 disk >> ├─sdb1 8:17 0 922G 0 part >> │ └─md0 9:0 0 921,9G 0 raid1 >> │ └─bcache0 252:0 0 921,9G 0 disk / >> ├─sdb2 8:18 0 1K 0 part >> ├─sdb5 8:21 0 1,9G 0 part >> │ └─md1 9:1 0 1,9G 0 raid1 /boot >> └─sdb6 8:22 0 7,6G 0 part [SWAP] >> sdc 8:32 0 931,5G 0 disk >> ├─sdc1 8:33 0 922G 0 part >> │ └─md0 9:0 0 921,9G 0 raid1 >> │ └─bcache0 252:0 0 921,9G 0 disk / >> ├─sdc2 8:34 0 1K 0 part >> ├─sdc5 8:37 0 1,9G 0 part >> │ └─md1 9:1 0 1,9G 0 raid1 /boot >> └─sdc6 8:38 0 7,6G 0 part [SWAP] >> >> >> For benchmarking every time I detach the cache device, stop the bcache >> device, do a wipefs on the cache device, then make-bcache -C /dev/sda >> and finally reattach the cache. >> After that, I'm using the following script to repeatedly read a 1gb file: >> >> #!/bin/sh >> echo 0 > /sys/block/bcache0/bcache/sequential_cutoff >> echo 0 > /sys/block/bcache0/bcache/cache/congested_read_threshold_us >> echo 0 > /sys/block/bcache0/bcache/cache/congested_write_threshold_us >> uname -a >> echo >> bcache-status >> echo >> echo "1st pass" >> sync; echo 3 > /proc/sys/vm/drop_caches >> (time cat 1GB.bin > /dev/null) >> echo >> echo "2nd pass" >> sync; echo 3 > /proc/sys/vm/drop_caches >> (time cat 1GB.bin > /dev/null) >> echo >> echo "3rd pass" >> sync; echo 3 > /proc/sys/vm/drop_caches >> (time cat 1GB.bin > /dev/null) >> bcache-status >> >> >> >> As you can see from the results below, kernel 4.18.20 is the last >> kernel, where the cache grows and the performance goes up. >> >> I also compiled 4.19.0 with the bcache files from 4.18.20 and much to my >> suprise, that didn't change 4.19's behavior - still no caching. So some >> other changes must be the culprit or I did something wrong. >> I'm not that much into compiling the kernel, but I checked out the >> 4.19.0 and 4.18.20 commits and replaced the 4.19.0 drivers/md/bcache >> directory with the one from 4.18.20 - then recompiled and installed the >> new kernel. >> >> So i am at my wits end. Any help would be appreciated. >> Thanks >> Flo >> >> >> Linux kkb 4.18.20-041820-generic #201812030624 SMP Mon Dec 3 11:25:55 >> UTC 2018 x86_64 x86_64 x86_64 GNU/Linux >> >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 8275bf01-f0b3-423e-87fa-48336ce33068 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 1.12GiB (0%) >> Total Cache Unused 110.67GiB (99%) >> Evictable Cache 111.79GiB (100%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 0 (0%) >> Total Misses 6 >> Total Bypass Hits 0 >> Total Bypass Misses 0 >> Total Bypassed 0B >> >> 1st pass >> 0.00user 0.36system 0:08.58elapsed 4%CPU (0avgtext+0avgdata >> 2196maxresident)k >> 2097608inputs+0outputs (1major+113minor)pagefaults 0swaps >> >> 2nd pass >> 0.00user 0.32system 0:03.29elapsed 9%CPU (0avgtext+0avgdata >> 2100maxresident)k >> 2097184inputs+0outputs (1major+110minor)pagefaults 0swaps >> >> 3rd pass >> 0.00user 0.32system 0:02.64elapsed 12%CPU (0avgtext+0avgdata >> 2092maxresident)k >> 2097280inputs+0outputs (1major+111minor)pagefaults 0swaps >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 8275bf01-f0b3-423e-87fa-48336ce33068 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 2.24GiB (2%) >> Total Cache Unused 109.55GiB (98%) >> Evictable Cache 110.67GiB (99%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 5 (0%) >> Total Misses 4079 >> Total Bypass Hits 0 (0%) >> Total Bypass Misses 615 >> Total Bypassed 2.40MiB >> >> >> >> Linux kkb 4.19.0-041900-generic #201810221809 SMP Mon Oct 22 22:11:45 >> UTC 2018 x86_64 x86_64 x86_64 GNU/Linux >> >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 67269654-92e8-4c3b-a524-8e8910082146 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 1.12GiB (0%) >> Total Cache Unused 110.67GiB (99%) >> Evictable Cache 111.79GiB (100%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 0 (0%) >> Total Misses 1 >> Total Bypass Hits 0 >> Total Bypass Misses 0 >> Total Bypassed 0B >> >> 1st pass >> 0.00user 0.33system 0:09.29elapsed 3%CPU (0avgtext+0avgdata >> 2280maxresident)k >> 2097624inputs+0outputs (1major+113minor)pagefaults 0swaps >> >> 2nd pass >> 0.00user 0.33system 0:08.47elapsed 4%CPU (0avgtext+0avgdata >> 2248maxresident)k >> 2097280inputs+0outputs (1major+111minor)pagefaults 0swaps >> >> 3rd pass >> 0.00user 0.37system 0:10.46elapsed 3%CPU (0avgtext+0avgdata >> 2220maxresident)k >> 2097616inputs+0outputs (1major+114minor)pagefaults 0swaps >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 67269654-92e8-4c3b-a524-8e8910082146 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 1.12GiB (0%) >> Total Cache Unused 110.67GiB (99%) >> Evictable Cache 111.79GiB (100%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 132 (23%) >> Total Misses 436 >> Total Bypass Hits 51 (0%) >> Total Bypass Misses 17399 >> Total Bypassed 43.50MiB >> >> >> >> >> Linux kkb 5.5.2-050502-generic #202002041931 SMP Tue Feb 4 19:33:15 UTC >> 2020 x86_64 x86_64 x86_64 GNU/Linux >> >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 38a8b675-e332-4076-b0cf-44e4be72c300 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 1.12GiB (0%) >> Total Cache Unused 110.67GiB (99%) >> Evictable Cache 111.79GiB (100%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 0 (0%) >> Total Misses 1 >> Total Bypass Hits 0 (0%) >> Total Bypass Misses 3 >> Total Bypassed 52.00KiB >> >> 1st pass >> 0.00user 0.42system 0:09.21elapsed 4%CPU (0avgtext+0avgdata >> 2216maxresident)k >> 2097608inputs+0outputs (1major+112minor)pagefaults 0swaps >> >> 2nd pass >> 0.00user 0.42system 0:09.62elapsed 4%CPU (0avgtext+0avgdata >> 2248maxresident)k >> 2097280inputs+0outputs (1major+112minor)pagefaults 0swaps >> >> 3rd pass >> 0.00user 0.43system 0:08.75elapsed 5%CPU (0avgtext+0avgdata >> 2220maxresident)k >> 2097224inputs+0outputs (1major+114minor)pagefaults 0swaps >> --- bcache --- >> Device /dev/md0 (9:0) >> UUID 38a8b675-e332-4076-b0cf-44e4be72c300 >> Block Size 0.50KiB >> Bucket Size 512.00KiB >> Congested? False >> Read Congestion 0.0ms >> Write Congestion 0.0ms >> Total Cache Size 111.79GiB >> Total Cache Used 1.12GiB (0%) >> Total Cache Unused 110.67GiB (99%) >> Evictable Cache 111.79GiB (100%) >> Replacement Policy [lru] fifo random >> Cache Mode writethrough [writeback] writearound none >> Total Hits 121 (32%) >> Total Misses 246 >> Total Bypass Hits 15 (0%) >> Total Bypass Misses 12811 >> Total Bypassed 39.70MiB > > > > -- > -- > Ville Aakko - ville.aakko@xxxxxxxxx >