[haiku-bugs] Re: [Haiku] #8454: Very low network performance with a Marvell Yukon card.

  • From: "mmlr" <trac@xxxxxxxxxxxx>
  • Date: Fri, 02 Nov 2012 15:04:02 -0000

#8454: Very low network performance with a Marvell Yukon card.
---------------------------------------------+----------------------------
   Reporter:  bga                            |      Owner:  nobody
       Type:  bug                            |     Status:  new
   Priority:  high                           |  Milestone:  R1/beta1
  Component:  Drivers/Network/marvell_yukon  |    Version:  R1/Development
 Resolution:                                 |   Keywords:
 Blocked By:  8743                           |   Blocking:  8928
Has a Patch:  0                              |   Platform:  All
---------------------------------------------+----------------------------

Comment (by mmlr):

 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.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8454#comment:43>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: