This is useful for ath9k extraction as well. пт, 22 февр. 2019 г. в 13:09, Christian Lamparter <chunk...@gmail.com>: > > Hello, > > On Wednesday, February 20, 2019 7:26:55 PM CET Adrian Schmutzler wrote: > > just saw the commit “ipq40xx: speed up ath10k-caldata extraction”: > > > > https://github.com/openwrt/openwrt/commit/a69e101ed1169f562fc030a783cd997d3f066b16 > > > > Is this specific to ipq40xx for some reason not obvious to me or can other > > targets like ath79/ar71xx be “enhanced” similarly: > > > > https://github.com/openwrt/openwrt/blob/master/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata#L45 > > > > https://github.com/openwrt/openwrt/blob/master/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata#L33 > > > > (at least two affected lines in each file) > > > > […] > > > > dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count > > 2>/dev/null || \ > > > > […] > > > > changed to > > > > […] > > > > dd if=$mtd of=/lib/firmware/$FIRMWARE bs=$count skip=$offset count=1 > > iflag=skip_bytes 2>/dev/null || \ > > > > […] > > > > No this isn't specific to the ipq40xx. In fact as you said on a the > ath79 device it can make a bigger difference. > > For example on my ath79 WD MyNet Range Extender (AR9344-like, s25fl064k) > it goes from: > > strace -c dd if=/dev/mtd6 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096 > 4096+0 records in > 4096+0 records out > % time seconds usecs/call calls errors syscall > ------ ----------- ----------- --------- --------- ---------------- > 99.37 15.695454 3831 4096 write > 0.63 0.098808 24 4097 read > 0.00 0.000050 50 1 writev > 0.00 0.000044 8 5 close > 0.00 0.000000 0 4 1 open > 0.00 0.000000 0 1 execve > 0.00 0.000000 0 1 getuid > 0.00 0.000000 0 2 dup2 > 0.00 0.000000 0 2 mprotect > 0.00 0.000000 0 1 _llseek > 0.00 0.000000 0 1 prctl > 0.00 0.000000 0 1 rt_sigaction > 0.00 0.000000 0 1 rt_sigprocmask > 0.00 0.000000 0 2 mmap2 > 0.00 0.000000 0 1 fstat64 > 0.00 0.000000 0 1 fcntl64 > 0.00 0.000000 0 1 set_tid_address > 0.00 0.000000 0 1 set_thread_area > ------ ----------- ----------- --------- --------- ---------------- > 100.00 15.794356 8219 1 total > > compared to: > > strace -c dd if=/dev/mtd6 of=/lib/firmware/test-fast bs=4096 count=1 > skip=4096 iflag=skip_bytes > 1+0 records in > 1+0 records out > % time seconds usecs/call calls errors syscall > ------ ----------- ----------- --------- --------- ---------------- > 87.12 0.014953 14953 1 write > 5.29 0.000908 454 2 read > 3.02 0.000518 129 4 1 open > 1.42 0.000244 122 2 mprotect > 1.32 0.000226 113 2 mmap2 > 0.42 0.000072 14 5 close > 0.31 0.000053 53 1 writev > 0.22 0.000037 18 2 brk > 0.15 0.000025 25 1 set_thread_area > 0.13 0.000022 11 2 dup2 > 0.10 0.000017 17 1 execve > 0.09 0.000016 16 1 fstat64 > 0.09 0.000015 15 1 prctl > 0.07 0.000012 12 1 _llseek > 0.06 0.000011 11 1 rt_sigprocmask > 0.06 0.000010 10 1 fcntl64 > 0.05 0.000009 9 1 rt_sigaction > 0.05 0.000008 8 1 set_tid_address > 0.04 0.000007 7 1 getuid > ------ ----------- ----------- --------- --------- ---------------- > 100.00 0.017163 31 1 total > > > So, this should help to speed up the initial installation tremendously. > Especially if the overlay the device uses jffs2 it seems. If you want > to provide patches, please do so (and please add some performance > numbers too). > > Cheers, > Christian > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel