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

Re: C3600 kernel/64bit 4.* slow IO due to -mlong-calls



hi
good news (maybe)

yesterday I was able to compile kernel
4.16.0-Fearless-Coyote-Experimental-c3600-64bit

git clone  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
git branch parisc-4.16-2

configured with

- 64bit kernel
- no SMP (since C3600 owns 1 CPU)
- no preemption
- no mlong-call
- no built-in drivers, all drivers are kernel-modules

this kernel was compiled with
- hppa2.0-unknown-linux-gnu-{ gcc-v6.4.0, binutils-v2.29.1 }

it has been running for a while and it seems stable, even on heavy I/O
(I need 48h to confirm)
with "decent" (not excellent, but acceptable) performance on a
PCI_VIA_SATA controller

#  lspci | grep SATA
01:05.0 RAID bus controller: VIA Technologies, Inc. VT6421 IDE/SATA
Controller (rev 50)

# lsmod
Module                  Size  Used by
sata_via               16126  2
libata                312324  1 sata_via

 # lsprettysize data.bin
      488 Mbyte data.bin
 # time cp data.bin data2.bin
real    0m20.034s
user    0m0.012s
sys     0m9.227s

500Mbyte / 20s means 25Mbyte/sec

it's currently under testing


---------------------- original message ----------

flush_cache_range() may be called without context, which then triggers a BUG().
This patch by Dave Anglin adds code to correctly handle this case.

      parisc: Handle case where flush_cache_range is called with no context

 arch/parisc/kernel/cache.c | 41 ++++++++++++++++++++++++++++++++---------
 1 file changed, 32 insertions(+), 9 deletions(-)


Reply to: