Hi All, Le ven. 22 févr. 2019 à 03:33, Dmitry Tunin <hanipouspi...@gmail.com> a écrit : > > 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 || \
If you don't have skip_bytes option, you can also do something like: tail -c +$offset $mtd | head -c $count (maybe i'm of by 1 bytes for the tail, to be tested) Regards Etienne > > > > > > > […] > > > > > > > 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 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel