Any interests in Kernel 4.0 on My book live?


The work from the OpenWRT team has been a blessing and is fully leveraged. They fixed a lot of the upstream issues in the core kernel modules and provide a working base. Plus they have a phenomenal build system, that includes cross-compiling. Lately they have also been fixing some of the crypto modules. It has saved me at least 100 hours of work…

So now I can focus pretty much on Debian Jessie and NAS performance and all the stuff that the OpenWRT is not so interested in such as getting 16K/64K pages to work, sata I/O performance with NCQ, ext4 performance (versus squashfs), NFS performance, netconsole support, kernel MD5 acceleration support for Rsync, samba performance etc. The generic Broadcom network driver does not have all HW acceleration that the APM821xx chip brings, such as interrupt coalescence etc. Lately I rewrote the 3 DMA drivers (slave, sync, async) into a single driver, and can now get 122MB/s sustained read and write over Samba using optimized splice and peripheral DMA. Will take some more time for release though (I am on assignment abroad + a few memory leaks + need to figure out why module unload does not work in 4.14). Their DWC sata drivers is not too bad though and if time permits, I may be integrated my optimizations with it.

I have not verified the performance difference with their latest kernels, but on 4.9 (OpenWRT 17.x) it was significant enough (50%+ on certain functions) to spend the extra effort. After all OpenWRT focuses on routers/networking and not on storage/NAS.



I admire work you have done on the kernel, keep it up.
Have you considered putting it on Github? I think it would be more readable and they even have release hosting. I’d like to help you with that if you need.


Thanks for the kernel! I was able to get all 3 of the MyBook Live drives (1T, 2T, and 3T) up and running with Gentoo. No problems here!

Linux wdmbl1t 4.9.135-gentoo-mbl+ #2 Tue Oct 23 05:55:24 UTC 2018 ppc APM821XX GNU/Linux


I have a github account, that’s not the issue. I have no plans to fork the Linux kernel or replicate OpenWRT, but I can post the patches for each release when I get a little time.


that’s what I meant, just the patches, a and maybe some releases/builds


Version 1.0 of Github repository released
It’s long overdue, not because of a lack of Github skills but simply because of lack of time.
From now on, I will post patches, how-to’s etc. on Github. About 70% of documentation has been migrated,
Feel free to suggest improvements. Happy browsing.


Since my hdd doesn’t spin down itself and after using hdparm -y, it spins back up after a few seconds.
lsof doesn’t show anything significant, I have tried log2ram (ramdisk for /var/log).
next thing I wanted to do was iotop, but it requires kernel with io accounting, however I can’t find it in menuconfig. Adding it to .config does nothing and is removed upon build.
Does ppc44x not support io accounting?



Does ppc44x not support io accounting?

Yes, it does and I have tested/validated that for 4.9.x
With respect to disk standby, it depends a bit on the type of disk you have. Some disks honor hdparam -S, others don’t. For WD drives, there is an idle3ctl. For a Seagate drive that is not “well behaved”, I use a script in /etc/cron.hourly:

# Simple cron script - set disk standby timer
hdparm -S 60 /dev/sda
out=$(hdparm -C /dev/sda)
if [[ $out = *“standby”* ]] ; then
hdparm -Y /dev/sda


Are you able to run iotop?
my disk is wd blue WD3200AAJS. When connected to uart, there was an error/timeout just before spinning the drive back up, but I’m unable to replicate it right now.
This seems to me like the OS is constantly reading from the disk or something


Yes, I have tested iotop. It requires CONFIG_TASKSTATS, CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING to be compiled in. If I recall well, I fixed a few things to have it pass my NAS torture test, but for development work it’s OK as-is. I have created a pre-compiled 4.9.149 kernel that supports it out of the box here.


Kernel 4.9.149 released: on GitHub

  • Available precompiled and in patch form
  • Two configurations: optimized for size and performance (~400K size difference, little performance difference)
  • Netconsole enabled by default (remove netconsole from /boot/scr and/or remove CONFIG_NETCONSOLE from kernel config file
  • removed IPv6, netfilter and other modules (simplifies testing and reduces amount of patchwork needed).
  • patch updates and backports in preparation of 4.19 (e.g. networking & sata driver)

Next planned release: 4.19.19 or later


I have seen IO errors when spinning an active disk down, so one should no use hdparm -C on a disk that is not in standby state (see my script). Reversely, the torture test I run includes 200 cycles of IO workloads (50% read and 50% write, 50% local and 50% over SMB/NFS) on a drive in spin down mode and I have not seen the error. That said, all drives I have feature 64MB of cache and that could explain why I am not seeing it. I noticed your drive has only 8MB, maybe that could explain it. Are you sure write cache is enabled?
Any error logged in dmesg/kern.log ?