Re: raid456's devices_handle_discard_safely is unusably slow

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

 



On 1/28/19 5:57 PM, Song Liu wrote:
On Mon, Jan 28, 2019 at 7:00 AM Michal Soltys <soltys@xxxxxxxx> wrote:

On 1/28/19 1:07 PM, Michal Soltys wrote:

    8,0    1   269804    53.031027682     0  C   D 5020472 + 1024 [0]
    8,0    1   269805    53.040992885     0  C   D 5021496 + 1024 [0]
    8,0    1   269806    53.041155059  7185  A   D 5021496 + 8 <- (9,10) 0


The time length of the whole operation actually fits pretty well - with
32gb component disks, if each merged discard (up to 512k) incurs 10ms
penalty, that formally totals to 640s or so.

How about raid10 cases? Does it merge discard to a much bigger size?


Actually the results are quite weird (and blkdiscard on it also took ~11min, though it seems for different reasons).

Nominally there were a lot merges up to 64m, but there were also a lot of unmereged single sector (or +2, +3 - up to +15) ones.

  9,10   5        1     0.000000000  1270  Q   D 0 + 8388607 [blkdiscard]
  9,10   5        2     0.000003900  1270  X   D 0 / 1024 [blkdiscard]
  9,10   6        0     0.015422627     0  m   N md md_update_sb
  8,48   6        1     0.015431230  1246  A FWFS 2056 + 1 <- (8,49) 8
  8,48   6        2     0.015434083  1246  Q FWFS 2056 + 1 [md10_raid10]
  8,48   6        3     0.015440813  1246  G FWFS 2056 + 1 [md10_raid10]
  8,32   6        1     0.015491020  1246  A FWFS 2056 + 1 <- (8,33) 8
  8,32   6        2     0.015492220  1246  Q FWFS 2056 + 1 [md10_raid10]
  8,32   6        3     0.015494157  1246  G FWFS 2056 + 1 [md10_raid10]
  8,16   6        1     0.015510453  1246  A FWFS 2056 + 1 <- (8,17) 8
  8,16   6        2     0.015511639  1246  Q FWFS 2056 + 1 [md10_raid10]
  8,16   6        3     0.015513013  1246  G FWFS 2056 + 1 [md10_raid10]
  8,0    6        1     0.015527545  1246  A FWFS 2056 + 1 <- (8,1) 8
  8,0    6        2     0.015528682  1246  Q FWFS 2056 + 1 [md10_raid10]
  8,0    6        3     0.015529912  1246  G FWFS 2056 + 1 [md10_raid10]
  8,48   6        4     0.020176392   357  D WFS 2056 + 1 [kworker/6:1H]
  8,32   6        4     0.020187961   357  D WFS 2056 + 1 [kworker/6:1H]
  8,16   6        4     0.020191288   357  D WFS 2056 + 1 [kworker/6:1H]
  8,0    6        4     0.020194631   357  D WFS 2056 + 1 [kworker/6:1H]
  8,48   6        5     0.020864661     0  C WFS 2056 + 1 [0]
  8,48   6        6     0.020869060     0  C WFS 2056 [0]
  8,32   6        5     0.020877850     0  C WFS 2056 + 1 [0]
  8,32   6        6     0.020879070     0  C WFS 2056 [0]
  8,16   6        5     0.020882433     0  C WFS 2056 + 1 [0]
  8,16   6        6     0.020883503     0  C WFS 2056 [0]
  8,0    6        5     0.020886799     0  C WFS 2056 + 1 [0]
  8,0    6        6     0.020887866     0  C WFS 2056 [0]

......

  8,32   6    14196     0.888983391  1246  I   D 4527103 + 1 [md10_raid10]
  8,32   6    14197     0.888983593  1246  I   D 4528127 + 1 [md10_raid10]
  8,48   6    14195     0.888983911  1246 UT   N [md10_raid10] 2
  8,48   6    14196     0.888984097  1246  I   D 4527103 + 1 [md10_raid10]
  8,48   6    14197     0.888984292  1246  I   D 4528127 + 1 [md10_raid10]
  8,0    6    14194     0.888986085   357  D   D 4528127 + 1 [kworker/6:1H]
  8,16   6    14194     0.888988080   357  D   D 4528127 + 1 [kworker/6:1H]
  8,32   6    14198     0.888989355   357  D   D 4527103 + 1 [kworker/6:1H]
  8,32   6    14199     0.888991307   357  D   D 4528127 + 1 [kworker/6:1H]
  8,48   6    14198     0.888992968   357  D   D 4527103 + 1 [kworker/6:1H]
  8,48   6    14199     0.888994184   357  D   D 4528127 + 1 [kworker/6:1H]
  8,48   6    14200     0.889180192     0  C   D 4524031 + 1 [0]
  8,32   6    14200     0.889247308     0  C   D 4524031 + 1 [0]
  8,32   6    14201     0.889552320     0  C   D 4525055 + 1 [0]
  8,0    6    14195     0.979590734     0  C   D 4523007 + 1 [0]
  8,16   6    14195     0.979615776     0  C   D 4525055 + 1 [0]
  8,48   6    14201     0.979619076     0  C   D 4525055 + 1 [0]
  8,0    6    14196     0.979927964     0  C   D 4524031 + 1 [0]
  8,16   6    14196     0.979940133     0  C   D 4526079 + 1 [0]
  8,48   6    14202     0.979942576     0  C   D 4526079 + 1 [0]
  8,0    6    14197     0.980256117     0  C   D 4525055 + 1 [0]
  8,16   6    14197     0.980288566     0  C   D 4527103 + 1 [0]
  8,48   6    14203     0.980290462     0  C   D 4527103 + 1 [0]
  8,0    6    14198     0.980300545  1246  G   D 4529151 + 1 [md10_raid10]
  8,0    6    14199     0.980302563  1246  P   N [md10_raid10]
8,16 6 14198 0.980304031 1246 A D 4529151 + 1 <- (8,17) 4527103
  8,16   6    14199     0.980304969  1246  Q   D 4529151 + 1 [md10_raid10]
  8,16   6    14200     0.980306587  1246  G   D 4529151 + 1 [md10_raid10]
  8,16   6    14201     0.980307169  1246  P   N [md10_raid10]



In comparison, mkfs.ext -E discard worked fine in 7.2s or so. Pretty much only 64m merges there.

Traces:

blkdiscard:
https://drive.google.com/open?id=1n5R1prcGxcyIW1SZ-HQ472nbVymK5snR

mkfs -E discard:
https://drive.google.com/open?id=1T2Nomdzvqp5VWVpSmT60DVItbBXENIbc





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux