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

Re: kernel 4.15.7/64bit, C3600 is unstable during heavy I/O on PCI



On 2018-03-17 7:36 AM, Helge Deller wrote:
Can you maybe try to localize where in the drivers/ata/sata_via.c driver
triggers the HPMC ?


--- arch/parisc/kernel/hpmc.S	2018-01-28 22:20:33.000000000 +0100
+++ arch/parisc/kernel/hpmc.S	2018-03-15 14:13:46.611969815 +0100
@@ -308,4 +290,5 @@
  	.align 4
  	.export os_hpmc_size
  os_hpmc_size:
-	.word .os_hpmc_end-.os_hpmc
+	/* .word .os_hpmc_end-.os_hpmc */
+	.word (.os_hpmc_end - .os_hpmc) * 4 /* sizeof(u32) */

This one seems wrong.
I think you just didn't hit a HPMC with your first patch, and as such
this patch has no influence...
Helge, did you check that os_hpmc is correctly entered after you added the ".align 4" statement (e.g., trigger hpmc by accessing page 0 or such)?  I looked at one of my builds and the size is correct as is.  Is it possible that the length needs to be a multiple of 16?  Current length is 0x194.

There are a couple of minor issues with assembly code.  There are no .type and .size directives for
os_hpmc_size.

I think we should investigate further as I have never seen hpmc handler entered on rp3440 or c8000. On rp3440, there are messages about the branch failing in the SL log.  However, this might have been fixed by your alignment fix.  I did see a similar issue to what Carlos indicated on c8000.  It would lock up and require a power cycle when the DRM driver was included in kernel.  However, it seems to be running fine with v4.15.10 with cache patch and full "Debian" config.  I tried a couple of boots last night
to try to generate the lock up but it didn't happen.

Dave

--
John David Anglin  dave.anglin@bell.net


Reply to: