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>
