Opened 8 years ago

Closed 14 months ago

Last modified 13 months ago

#8454 closed bug (fixed)

Very low network performance on some Marvell Yukon cards.

Reported by: bga Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Network/marvell_yukon Version: R1/Development
Keywords: Cc: luroh, jstressman@…
Blocked By: #8743 Blocking: #8928
Has a Patch: no Platform: All

Description

It has been a long time since I last used Haiku but I recently started using it again. I noticed there has been a huge network performance regression (more likelly, with my specific card as someone else would have noticed it if the problem was more general).

Here is my card:

/dev/net/marvell_yukon/0
       Hardware type: Ethernet, Address: 00:1e:8c:3a:65:24
       Media type: 1 GBit, 1000BASE-T
       inet addr: 192.168.0.11, Bcast: 192.168.0.255, Mask: 255.255.255.0
       inet6 addr: fe80::21e:8cff:fe3a:6524, Bcast:
ffff:ffff:ffff:ffff::, Prefix Length: 64
       MTU: 1500, Metric: 0, up broadcast link auto-configured
       Receive: 5880 packets, 0 errors, 4661150 bytes, 0 mcasts, 0 dropped
       Transmit: 2737 packets, 0 errors, 253011 bytes, 0 mcasts, 0 dropped
       Collisions: 0

As you can see it is connected to a Gigabit ethernet network and the speed is not getting even close to that. And when I say not even close I do not say I am getting 10 Mbits or something. I am getting amazing 425 Kbits! or 52 kb/s in the local network. The same machine also runs Linux and when booted to it, I get around 40 mb/s of transfer speed.

Also, ping times are surreal:

[/boot/home]> ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=333.856 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=334.960 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=336.313 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=337.703 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=339.046 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=340.501 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=341.911 ms
64 bytes from 192.168.0.1: icmp_seq=7 ttl=64 time=343.321 ms
64 bytes from 192.168.0.1: icmp_seq=8 ttl=64 time=344.734 ms
64 bytes from 192.168.0.1: icmp_seq=9 ttl=64 time=346.066 ms
64 bytes from 192.168.0.1: icmp_seq=10 ttl=64 time=347.479 ms
--- 192.168.0.1 ping statistics ---
11 packets transmitted, 11 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 333.856/340.535/347.479/4846.743 ms

On Linux on the same machine, the same ping results in sub-ms reply time, so this is aroung 500 times slower!

Also notice this card use the FreeBSD compatibility layer. It is possible that the problem is there.

Attachments (6)

marvell_yukon.patch (1.8 KB ) - added by bga 7 years ago.
haiku-cpu-bug1.png (86.8 KB ) - added by jstressman 7 years ago.
temporarily disabled the first core which caused the load to go back to normal balancing
marvell_yukon.gcc2 (150.6 KB ) - added by luroh 7 years ago.
Known good driver from hrev43722, gcc2
marvell_yukon.gcc4 (138.6 KB ) - added by luroh 7 years ago.
Known good driver from hrev43722, gcc4
0001-Disable-duplicated-interrupt-disable-code.patch (3.0 KB ) - added by mmlr 7 years ago.
0002-Workaround-possible-spurious-interrupts-in-marvell-y.patch (1.5 KB ) - added by mmlr 7 years ago.

Download all attachments as: .zip

Change History (71)

comment:1 by korli, 8 years ago

see also #4239

comment:2 by luroh, 8 years ago

Cc: luroh added

comment:3 by aldeck, 8 years ago

Similar issues here, Marvel Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller [11ab:4364]

comment:4 by umccullough, 8 years ago

Did the problem start around hrev43744?

After running a fresh coverity scan, it seems it has detected a bad conditional check in the new HAIKU_CHECK_DISABLE_INTERRUPTS() code:

if (status == 0 || status == 0xffffffff ||

Where status is apparently a uint16, so the second condition will always be false.

It's CID 11358 if anyone is interested in checking on it.

in reply to:  4 comment:5 by korli, 8 years ago

Replying to umccullough:

Did the problem start around hrev43744?

After running a fresh coverity scan, it seems it has detected a bad conditional check in the new HAIKU_CHECK_DISABLE_INTERRUPTS() code:

if (status == 0 || status == 0xffffffff ||

Where status is apparently a uint16, so the second condition will always be false.

It's CID 11358 if anyone is interested in checking on it.

Looking again at the code, it should be: uint32_t status;

comment:6 by bga, 8 years ago

As soon as I get home later today, I will try this. Thanks.

comment:7 by bga, 8 years ago

Unfortunately, that did not help. I am still seeing the same abysmal performance.

comment:8 by korli, 8 years ago

bga, maybe you could have a look at other drivers. I would suggest to store the status in a field (see here ) and reuse this field in the intr_handler (see here)

comment:9 by bga, 8 years ago

looks like the concept of "status" is a bit overloaded in this driver. There seem to be at least 2 interrupt handlers:

static void
msk_intr_phy(struct msk_if_softc *sc_if)
{
	uint16_t status;

	msk_phy_readreg(sc_if, PHY_ADDR_MARV, PHY_MARV_INT_STAT);
	status = msk_phy_readreg(sc_if, PHY_ADDR_MARV, PHY_MARV_INT_STAT);
	/* Handle FIFO Underrun/Overflow? */
	if ((status & PHY_M_IS_FIFO_ERROR))
		device_printf(sc_if->msk_if_dev,
		    "PHY FIFO underrun/overflow.\n");
}

and

static void
msk_intr_gmac(struct msk_if_softc *sc_if)
{
	struct msk_softc *sc;
	uint8_t status;

	sc = sc_if->msk_softc;
	status = CSR_READ_1(sc, MR_ADDR(sc_if->msk_port, GMAC_IRQ_SRC));

	/* GMAC Rx FIFO overrun. */
	if ((status & GM_IS_RX_FF_OR) != 0)
		CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_CTRL_T),
		    GMF_CLI_RX_FO);
	/* GMAC Tx FIFO underrun. */
	if ((status & GM_IS_TX_FF_UR) != 0) {
		CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, TX_GMF_CTRL_T),
		    GMF_CLI_TX_FU);
		device_printf(sc_if->msk_if_dev, "Tx FIFO underrun!\n");
		/*
		 * XXX
		 * In case of Tx underrun, we may need to flush/reset
		 * Tx MAC but that would also require resynchronization
		 * with status LEs. Reinitializing status LEs would
		 * affect other port in dual MAC configuration so it
		 * should be avoided as possible as we can.
		 * Due to lack of documentation it's all vague guess but
		 * it needs more investigation.
		 */
	}
}

As you can see, status is 8 bits in one, 16 bits in the other and the last CL changed the status somewhere else to 32 bits. i wonder if this is not causing the issues.

In any case, I am not familiar with the FreeBSD compatibility layer. Any ideas which of the interrupt handlers should I be checking the status in? My guess would be the second one.

comment:10 by korli, 8 years ago

The interrupt handler of interest is the one passed to bus_setup_intr() which is msk_intr.

comment:11 by luroh, 8 years ago

If it's of any help, a kernel thread called "mskc intr handler" is consuming ~40% CPU on my machine, causing a noticable general slowdown and UI sluggishness. Lowering its priority from "Real-time" to "Lowest" gets rid of the sluggishness, but has a further negative impact on the network performance.

comment:12 by bga, 7 years ago

I just noticed the cpu usage by "mskc intr handler". This is a new development though as when I reported the bug, that did not happen. Maybe it was the change in the status code that caused it?

comment:13 by bga, 7 years ago

Ok, I think I partially figured it out. And right now I have no high CPU usage when nothing is happening nor do I have the huge network slowdown:

~> ping -c 10 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=0.471 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.412 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.406 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.434 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.410 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=0.386 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=0.379 ms
64 bytes from 192.168.0.1: icmp_seq=7 ttl=64 time=0.377 ms
64 bytes from 192.168.0.1: icmp_seq=8 ttl=64 time=0.386 ms
64 bytes from 192.168.0.1: icmp_seq=9 ttl=64 time=0.390 ms
--- 192.168.0.1 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 0.377/0.405/0.471/0.213 ms

From around 340 ms to 0.4 ms ping times. Not bad. :)

But not everything is perfect:

~> scp bga@blindio:Misc/Backup.zip .
bga@blindio's password: 
Backup.zip                                    100%  103MB   5.4MB/s   00:19

Transfer speeds are a lot better, but they can improve more (I get up to 40 mb/s with Linux). Also, when transfering I see high CPU usage from the interrupt handler.

Also, while I was writting this, CPU usage spiked and syslog is showing lots of errors:

KERN: [marvell_yukon] (mskc) Rx descriptor error
KERN: [marvell_yukon] (mskc) Tx descriptor error
KERN: Last message repeated 6807 times.
KERN: [marvell_yukon] (mskc) Rx descriptor error
KERN: [marvell_yukon] (mskc) Tx descriptor error
KERN: Last message repeated 34751 times.
KERN: [marvell_yukon] (mskc) Rx descriptor error
KERN: [marvell_yukon] (mskc) Tx descriptor error
KERN: Last message repeated 33358 times.
KERN: [marvell_yukon] (mskc) Rx descriptor error

So something is still broken.

In any case, what I did was simply remove the interrupt disabling code at the top of msk_intr(). If I understand this correctly, this is now handled by HAIKU_CHECK_DISABLE_INTERRUPTS() which had identical code.

Korli, can you comment on this? note this was simply a wild guess when I saw the duplicated code.

comment:14 by bga, 7 years ago

So, although I removed the interrupt disabling code, I forgot to remove the code that reenabled them. I did that and now the errors stopped. *BUT* ping is up now (around 200 ms) and the netowkr performance went down the drain again (altough it is also betetr than with the original code).

Taking this into consideration, could it be that we are not reenabling interrupts somewhere when we should? Mode specifically, I did notice that the glue code does not have any code to reenable interrupts. Maybe it should have?

by bga, 7 years ago

Attachment: marvell_yukon.patch added

comment:15 by bga, 7 years ago

Ok. Attached patch seems to fix everything. Performance is still sub-optimal, but it seems to be as good as it ever was (before it got really really bad). I did not set up git for Haiku development yet, so i need someone else to apply this. Thanks.

comment:16 by bga, 7 years ago

Has a Patch: set

comment:17 by bga, 7 years ago

*sigh*

Do not apply the patch. I just got the errors again and the high CPu usage (probably due to the errors. I will continue investigating, but I am out of ideas.

comment:18 by korli, 7 years ago

Could you please try to apply this patch?

comment:19 by luroh, 7 years ago

Thanks korli, no perceivable difference with the patch here unfortunately. [11ab:4362]

Last edited 7 years ago by luroh (previous) (diff)

comment:20 by jstressman, 7 years ago

I wanted to add a note to this regarding some odd behavior with the CPU load in relation to this problem as well... (hrev44293 clean install)

I'm running a multi-core system, but the load is only going on the first core. The other 7 are left essentially totally idle. If I disable the first core, the load appears to go back to normal with the load being balanced over all my cores.

(See attached image where it's obvious the span where I disabled the first core momentarily and then re-enabled it.)

by jstressman, 7 years ago

Attachment: haiku-cpu-bug1.png added

temporarily disabled the first core which caused the load to go back to normal balancing

comment:21 by jstressman, 7 years ago

Cc: jstressman@… added

comment:22 by luroh, 7 years ago

To hopefully alleviate some of the inconvenience, I am attaching the last known good drivers, extracted from nightly images hrev43722.

by luroh, 7 years ago

Attachment: marvell_yukon.gcc2 added

Known good driver from hrev43722, gcc2

by luroh, 7 years ago

Attachment: marvell_yukon.gcc4 added

Known good driver from hrev43722, gcc4

comment:23 by luroh, 7 years ago

Blocked By: 8743 added

comment:24 by jstressman, 7 years ago

I'm still seeing the same high CPU load on hrev44370

I've gone back to the old driver again and things work correctly with it. I'll try again when someone thinks they have this fixed.

Is there anything else I can do to help get this figured out?

comment:25 by tqh, 7 years ago

I think the performance may be low for all network drivers (at least wlan) based on FreeBSD compability code. Why I don't know.

comment:26 by axeld, 7 years ago

Do you mean it's low since we updated to the FreeBSD 9 drivers, or low in general. At least the latter I can't confirm - I'm still using an older revision, and network speed is quite acceptable (actually better than with Linux on the same machine).

comment:27 by tqh, 7 years ago

Since I havn't been using wlan under Haiku that much before I can't really say. My intel 4965 is not getting better than around 100KB/s at the moment (wget or WebPositive is the same), and some reports is that it is similar with Marvell yukon. CPU usage isn't that high either, I've enabled more debugging in wlan-code and see retransmit messages, but not sure if that is ordinary or not.

I'm away from home right now so can't do that much to investigate.

comment:28 by jstressman, 7 years ago

One other thing for me that seemed to really improve responsiveness and performance was to disable my 2 interfaces that I wasn't using.

I disabled atheros0 and marvell_yukon0 and only use marvell_yukon1.

I'd have to do more testing to see if I could give a more solid explanation of this and confirm that it is indeed the case... but Web+ at least seemed to respond considerably quicker and more smoothly once I'd disabled the unused interfaces.

I'm still using the old driver at the moment, so I'd want to retest this to figure out whether it was the new driver or the old driver that I saw this behavior under... and if it's really related to the driver at all, or some kind of bad routing, or just Web+ trying an invalid interface before timing out and trying a good one... or even something like trying an invalid ipv6 route before falling back to a working ipv4... I really have no idea at the moment, but wanted to point out what I thought I saw in case it gives anyone an idea.

One other idea I had was that it was related to the atheros driver spitting out 1kB a second in verbose logs to the syslog, and disabling that interface shut it up and increased performance on my remaining interface(s)?

comment:29 by nielx, 7 years ago

Has a Patch: unset

in reply to:  17 comment:30 by nielx, 7 years ago

Replying to bga:

*sigh*

Do not apply the patch. I just got the errors again and the high CPu usage (probably due to the errors. I will continue investigating, but I am out of ideas.

Obsoleted the patch per request of bga.

comment:31 by tqh, 7 years ago

I havn't verified this but I suspect that the freebsd drivers (marvell_yukon, iprowifi4965 and others) that use fake interrupt handlers involving semaphore signaling and a thread doing the real int work are the slow ones. The rtl81xx which uses the int handler directly seems to have pretty good performance. For iprowifi4965 I think rewriting the int handler would be quite easy and would be a good test for this. See http://cgit.haiku-os.org/haiku/tree/src/libs/compat/freebsd_network/bus.c#320 for more info. It will take me a few days before I can get to that though.

comment:32 by luroh, 7 years ago

In the interest of chronicling the misadventures of this driver, I have to report that since hrev44541, the driver now locks up my system when configuring the NIC at boot. The mouse pointer can't be moved but I can get to KDL, where it always seems to be stuck in "mskc intr handler".

comment:33 by luroh, 7 years ago

Milestone: R1R1/alpha4

Using 'msi_disable = 1' in if_msk.c makes the driver not lock up the system, but otherwise doesn't seem to improve performance in any way.

There's a suggestion to inject binary versions of the last known good drivers into the official R1/A4 images as a workaround, unless this bug has been fixed before release. I'm therefore adjusting the milestone to R1/A4 for now to make it show up on the release radar.

Last edited 7 years ago by luroh (previous) (diff)

comment:34 by diver, 7 years ago

Blocking: 8928 added

in reply to:  31 ; comment:35 by scottmc, 7 years ago

Replying to tqh:

I havn't verified this but I suspect that the freebsd drivers (marvell_yukon, iprowifi4965 and others) that use fake interrupt handlers involving semaphore signaling and a thread doing the real int work are the slow ones. The rtl81xx which uses the int handler directly seems to have pretty good performance. For iprowifi4965 I think rewriting the int handler would be quite easy and would be a good test for this. See http://cgit.haiku-os.org/haiku/tree/src/libs/compat/freebsd_network/bus.c#320 for more info. It will take me a few days before I can get to that though.

@tqh: Can you take this one and determine if it can be fixed for r1alpha4 or pushed out to the next milestone? Perhaps roll this back to the last know mostly working version?

comment:36 by luroh, 7 years ago

Last time I was plodding around with this bug, I remember looking into the possibility of reverting but it seemed to be non-trivial (at least given my limited knowledge). Not only the driver itself but the compat layer as well would need to be rolled back, which would affect all other freebsd Ethernet drivers.

In order to not jeopardize release quality or to risk losing much time over this, I would propose that we simply manually inject the attached working gcc2 binary driver into the release images and defer this ticket to alpha 5, once alpha 4 is out the door.

in reply to:  35 comment:37 by tqh, 7 years ago

Replying to scottmc:

@tqh: Can you take this one and determine if it can be fixed for r1alpha4 or pushed out to the next milestone? Perhaps roll this back to the last know mostly working version?

No I can't since I don't have the hardware. I've been trying to investigate why some FreeBSD-based drivers are slow and others not. I suspect it is the different int handlers in FreeBSD-code but I havn't managed to prove that. IIRC, Atheros is fast, Realtek is fast, Marvell and i4965 is slow. I'm planning to open an enhancement ticket on networking, but havn't gotten round to it yet.

in reply to:  36 ; comment:38 by leavengood, 7 years ago

Replying to luroh:

Last time I was plodding around with this bug, I remember looking into the possibility of reverting but it seemed to be non-trivial (at least given my limited knowledge). Not only the driver itself but the compat layer as well would need to be rolled back, which would affect all other freebsd Ethernet drivers.

In order to not jeopardize release quality or to risk losing much time over this, I would propose that we simply manually inject the attached working gcc2 binary driver into the release images and defer this ticket to alpha 5, once alpha 4 is out the door.

Given you think reverting the source would be non-trivial and would require changing the compat layer, why would injecting the old binary version work? Is the compat layer compiled into each driver? If it is not, I don't see how the old binary driver could work with the new compat layer.

If the compat layer is compiled in, then I'll explore this option. Unfortunately I don't think I have any hardware I can test on, but maybe I could provide a test image or patch to luroh.

in reply to:  38 comment:39 by luroh, 7 years ago

Replying to leavengood:

Given you think reverting the source would be non-trivial and would require changing the compat layer, why would injecting the old binary version work? Is the compat layer compiled into each driver?

The old binary does work fine and I believe the reason is indeed that the compat layer is compiled into each driver, adjusted as necessary when we upgrade our drivers from one FreeBSD version to another. It is beyond my meager knowledge to explore this option further myself but I'll gladly test any patches.

in reply to:  38 comment:40 by anevilyak, 7 years ago

Replying to leavengood:

If the compat layer is compiled in, then I'll explore this option. Unfortunately I don't think I have any hardware I can test on, but maybe I could provide a test image or patch to luroh.

It is, the compat layer is built into a .a which is statically linked into every freebsd-derived driver (c.f. http://cgit.haiku-os.org/haiku/tree/src/libs/compat/freebsd_network/Jamfile#n15 ).

comment:41 by tqh, 7 years ago

I suspect the older ones will have other problems with port sensing and such, unless you try to compile old driver with new compability layer. Someone with good knowledge about interrupt handling and locking in FreeBSD could probably try to improve our layer's interrupt handling. Otherwise I think it would be good to discuss on how to improve at BG.

comment:42 by kallisti5, 7 years ago

Milestone: R1/alpha4R1/beta1

We are too close to R1A4 to fix this now. It looks like this won't be fixed until post-R1A4 :(

comment:43 by mmlr, 7 years ago

As I don't have the hardware I can't really test it, but from what I gathered from the discussion here and how I understood HAIKU_CHECK_DISABLE_INTERRUPTS() the duplicated entry in the interrupt handler needs to be disabled (as the original patch from Bruno did). However the patch did just remove the duplicate code, which should have left the status variable empty and the rest of the interrupt handler moot.

As with the duplicate code in place things broke, I would guess that it is possible that reading the status twice might return different results. Since reading the register also has the side effect of masking further interrupts (as indicated by the comment), this seems possible as well. Since I don't have the register specs I can only guess however.

In any case I've made two patches that may help here. The first patch ifdefs the duplicate code out but carries over the status value from check/disable to the interrupt handler as is done in other drivers.

The second patch is inspired by the FreeBSD workaround Jerome point to, but does the check and acknowledge of the possible spurious interrupt at a different place that should actually be reached in the interrupt storm case.

comment:44 by mmlr, 7 years ago

Has a Patch: set

comment:45 by luroh, 7 years ago

Thanks mmlr, I'll give these a go tomorrow. Should each patch be tested separately and/or combined?

in reply to:  45 comment:46 by mmlr, 7 years ago

Replying to luroh:

Thanks mmlr, I'll give these a go tomorrow. Should each patch be tested separately and/or combined?

Both should be applied combined. I just separated them to make the changes more easy to see.

comment:47 by kallisti5, 7 years ago

Let us know how it goes luroh. If they solve the issue (or make it better) they will get a quick pass into R1A4.

Thanks mmlr!

comment:48 by korli, 7 years ago

I and oco tried both patches on oco's sony laptop, and it seems they don't help at solving the current problem, sorry.

We managed to narrow the high CPU load to an interrupt looping in msk_handle_events(). The driver is supposed to have some events to process (line 3510, test is false) but the first event at the current position is still hardware owned (line 3523, test is true). Thus msk_handle_events() returns with still some work to do, this triggers an interrupt which in turn calls msk_handle_events() again.

Tests so far give a value for sc->msk_stat_cons of 512 or 1024, when the high CPU load is triggered. It seems to be linked with a crossed page boundary (the size of an event is 8 bytes).

comment:49 by luroh, 7 years ago

Wow, these patches really worked wonders for my box. My yukon went from completely hanging the system to working just as well as it did a year ago. I'm seeing no CPU load and am downloading at full throttle. Couldn't be happier here!

Edit: for reference, my device is [11ab:4362]

Last edited 7 years ago by luroh (previous) (diff)

comment:50 by korli, 7 years ago

luroh, nice! Did you test after a few reboots? I know oco checked at least five or six times successfully until it fails again. Aligned page allocation should be ok in hrev44773. oco tested a test build of marvell_yukon with sc->msk_stat_cons aligned on 16k and it seems successful on his hardware. I'll gather an updated patch for marvell_yukon tonight.

comment:51 by luroh, 7 years ago

Ah, I see. Well, I have just rebuilt and tested again, ten warm reboots and three cold ones, still works fine here. hrev44780, gcc2, both patches applied.

comment:52 by kallisti5, 7 years ago

Lets get these into the master branch asap so they can be picked for R1A4! :D

comment:53 by oco, 7 years ago

Mine still does not work except with one of the many proposed by Korli since saturday which contains some debug output and the alignment fix.

This evening, korli send me different combinations of committable fixs, all without debug output. None of them have work without problems so far. Maybe remaining problems are linked to this specific device ([11ab:4354]).

comment:54 by korli, 7 years ago

kallisti5, I would suggest you go with mmlr's patches on trunk then alpha4. I suppose oco can live a bit longer with a custom driver (be sure to keep a copy around).

Sorry I couldn't find out what we miss, even if we spend a lot of time on it at BG with oco. We'll probably revisit this with upcoming 9.2 release of FreeBSD anyway ;)

@oco I would have suggested to check the behavior with a FreeBSD live CD but couldn't find one for 9.1

comment:55 by kallisti5, 7 years ago

If we get down to the wire and mmlr hasn't commited the fixes yet i'll commit to mainline + pick for R1A4.

This will most likely be the last accepted pick :)

comment:56 by mmlr, 7 years ago

I've just pushed both of these in hrev44793 with slightly reworded commit messages. Please pick for alpha4, thanks.

comment:57 by kallisti5, 7 years ago

Summary: Very low network performance with a Marvell Yukon card.Very low network performance on some Marvell Yukon cards.

picked.

Renaming issue.

comment:58 by mmadia, 7 years ago

Has a Patch: unset

comment:59 by pulkomandy, 6 years ago

Milestone: R1/beta1Unscheduled

Moving out of beta1 milestone. This now only affects a single machine, meaning the core bug in FreeBSD layer has been fixed.

comment:60 by tqh, 6 years ago

Any details on that?

comment:61 by luroh, 5 years ago

Priority: highnormal

oco: Any improvement? I believe our marvell_yukon driver has been updated twice since R1A4.

comment:62 by diver, 17 months ago

No reply in 6 years. Closing?

comment:63 by pulkomandy, 17 months ago

As far as I know the problem is still around. I still have a machine usig that chip, but it's now my server serving the beosarchive and my mailbox, so I need to take these offline while I test. Will report when I can, if oco doesn't get to it.

comment:64 by pulkomandy, 14 months ago

Resolution: fixed
Status: newclosed

I found another machine with that chip, and it seems to be working all fine now. I assume it's safe to close this then.

comment:65 by oco, 13 months ago

Finally found some time to check this on my old laptop (the Sony referenced earlier in this ticket) while my WIFI was not yet connected : it just works out of the box with Haiku Beta 1. Thank you everybody !

Note: See TracTickets for help on using tickets.