Port-arm archive

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

Re: Very slow transfers to/from micro SD card on a RPi B+



On 08/17/15 18:43, Stephan wrote:
I just double-checked for certainty and it looks good:

sdhc0: SDHC 3.0, rev 153, platform DMA, 250000 kHz, HS SDR50 3.3V,
re-tuning mode 1, 1024 byte blocks
sdmmc0 at sdhc0 slot 0
uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 1 port with 1 removable, self powered
uhub1 at uhub0 port 1: vendor 0424 product 9514, class 9/0, rev 2.00/2.00,
addr 2
uhub1: multiple transaction translators
uhub1: 5 ports with 4 removable, self powered
ld0 at sdmmc0: <0x82:0x4a54:NCard:0x10:0x3360f1f3:0x0ea>
ld0: 15087 MB, 7663 cyl, 64 head, 63 sec, 512 bytes/sect x 30898176 sectors
ld0: 4-bit width, SDR50, 100.000 MHz

Sequential write speed was about 8,6 MB/s this time. However, it fluctuates
between ~3 - 11 MB/s.

       tty              ld0             CPU
  tin tout  KB/t  t/s  MB/s  us ni sy in id
    2   50 52.15   79 4.034   0  0 12  1 86
    0   44 62.86   55 3.403   0  0 25  0 75
    0   44 62.84   54 3.342   0  0 15  0 84
    0   44 61.63   53 3.218   0  0  7  0 93
    0   44 62.59   44 2.663   1  0  5  0 93
    0   44 60.20  132 7.741   0  0 16  1 82
    0   44 62.51  128 7.797   1  0 14  0 85
    0   44 63.50  127 7.859   0  0 14  0 85
    0   44 64.00  126 7.859   1  0 15  0 83
    0   44 59.48  160 9.317   0  0 22  1 77
    0 7553 64.00  110 6.869   1  0 15  0 83
    0   44 52.44  160 8.215   0  0 15  0 84
    0   44 64.00  177 11.08   0  0 23  0 77
    0   44 64.00  177 11.08   0  0 23  2 75
    0   44 64.00  167 10.46   2  0 20  2 76
       tty              ld0             CPU
  tin tout  KB/t  t/s  MB/s  us ni sy in id
    0   44 63.73  175 10.91   0  0 23  0 77
    0  131 64.00  121 7.550   0  0 16  1 83
    0   44 63.20   79 4.889   0  0 11  0 89
    0   44 63.61  164 10.21   1  0 21  0 78
    0   44 64.00  174 10.89   0  0 24  5 71
    0   44 63.63  169 10.52   1  0 21  1 77
    0   44 64.00   73 4.579   0  0  9  0 91
    1  158 62.93  177 10.89   0  0 14  0 86
    0   44 58.70   82 4.711   0  0  3  1 96
    0   44 61.79  106 6.393   0  0  0  1 99
    0   44 0.000    0 0.000   0  0  0  0 100
    0   45 0.000    0 0.000   0  0  0  0 100

This is the locking situation within a 30 sec. period:

Elapsed time: 30.00 seconds.

-- Adaptive mutex spin

Total%  Count   Time/ms          Lock                       Caller
------ ------- --------- ----------------------
------------------------------
  72.12    1236      2.97 0000000081d48a00       <all>
  11.94     192      0.49 0000000081d48a00       uvm_aio_aiodone+b4
  10.28     111      0.42 0000000081d48a00       ufs_balloc_range+114
   7.50     173      0.31 0000000081d48a00       biodone2+18
   6.88      86      0.28 0000000081d48a00       genfs_getpages+30c
   6.44     117      0.26 0000000081d48a00       uvm_aio_aiodone_pages+68
   6.22     103      0.26 0000000081d48a00       genfs_lock+68
   4.96     114      0.20 0000000081d48a00       biowait+18
   4.53      84      0.19 0000000081d48a00       uvm_vnp_setwritesize+20
   4.03      92      0.17 0000000081d48a00       brelsel+268
   2.92      43      0.12 0000000081d48a00       ufs_balloc_range+1f0
   2.40      46      0.10 0000000081d48a00       uvm_vnp_setsize+48
   2.31      45      0.09 0000000081d48a00       ufs_post_write_update.isra.2+9c
   1.09      14      0.04 0000000081d48a00       ubc_fault+1f4
   0.24       8      0.01 0000000081d48a00       ubc_alloc+53c
   0.14       3      0.01 0000000081d48a00       nestiobuf_done+24
   0.09       2      0.00 0000000081d48a00       genfs_getpages+38c
   0.06       1      0.00 0000000081d48a00       ffs_write+408
   0.06       1      0.00 0000000081d48a00       ubc_fault+13c
   0.02       1      0.00 0000000081d48a00       bdwrite+a4

This looks like the buffer_lock

    http://nxr.netbsd.org/xref/src/sys/kern/vfs_bio.c#buffer_lock

assigned to b_objlock here

    http://nxr.netbsd.org/xref/src/sys/kern/vfs_bio.c#1893

Not sure if this helps...

Nick


Home | Main Index | Thread Index | Old Index