Date: Sun, 26 Jul 2015 19:40:39 +0900 From: Yonghyeon PYUN <pyunyh@gmail.com> To: Alnis Morics <alnis.morics@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: msk msk0 watchdog timeout freeze hang lock stop problem Message-ID: <20150726104039.GA1034@michelle.fasterthan.com> In-Reply-To: <55B36E1A.3040806@gmail.com> References: <20150413081348.GA965@michelle.fasterthan.com> <A861E9C3B0586445B36C4BB29ABF2DB46B2ECE3A@XCH7.wrexham.local> <55B36E1A.3040806@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Jul 25, 2015 at 02:08:10PM +0300, Alnis Morics wrote: > Just tried 10.2-RC1 amd64 GENERIC, and the problem seems to be gone. I > was even able to scp a 500 MB file. Could it be related to this fix in > BETA2, as mentioned in the announcement, "The watchdog(4) device has > been fixed to print to the correct buffer."? > msk(4) will show watchdog timeouts when it detects driver TX path is in stuck condition but I believe this has nothing to do with watchdog(4). There was no msk(4) code change in 10.2-RC1. If you happen to see the watchdog timeouts again, please try attached patch and let me know whether it makes any difference for you. I didn't get much feedbacks on the patch so I'm not sure whether it really fixes the root cause. > pciconf -lv > [..] > mskc0@pci0:9:0:0: class=0x020000 card=0xc072144d chip=0x435411ab > rev=0x00 hdr=0x00 > vendor = 'Marvell Technology Group Ltd.' > device = '88E8040 PCI-E Fast Ethernet Controller' > class = network > subclass = ethernet > > --1yeeQ81UyVL57Vl7 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="msk.align.diff" Index: sys/dev/msk/if_mskreg.h =================================================================== --- sys/dev/msk/if_mskreg.h (revision 281587) +++ sys/dev/msk/if_mskreg.h (working copy) @@ -2175,13 +2175,8 @@ #define MSK_ADDR_LO(x) ((uint64_t) (x) & 0xffffffffUL) #define MSK_ADDR_HI(x) ((uint64_t) (x) >> 32) -/* - * At first I guessed 8 bytes, the size of a single descriptor, would be - * required alignment constraints. But, it seems that Yukon II have 4096 - * bytes boundary alignment constraints. - */ -#define MSK_RING_ALIGN 4096 -#define MSK_STAT_ALIGN 4096 +#define MSK_RING_ALIGN 32768 +#define MSK_STAT_ALIGN 32768 /* Rx descriptor data structure */ struct msk_rx_desc { --1yeeQ81UyVL57Vl7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150726104039.GA1034>