lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 11 Jun 2007 17:44:54 +0200
From:	Patrick McHardy <kaber@...sh.net>
To:	hadi@...erus.ca
CC:	"Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@...el.com>,
	davem@...emloft.net, netdev@...r.kernel.org, jeff@...zik.org,
	"Kok, Auke-jan H" <auke-jan.h.kok@...el.com>
Subject: Re: [PATCH] NET: Multiqueue network device support.

jamal wrote:
> On Mon, 2007-11-06 at 17:12 +0200, Patrick McHardy wrote:
> 
>>Worst cast is (n - 2) * (m - 1) + 1 full sized packet transmission
>>times.
>>
>>You can do the math yourself, but we're talking about potentially
>>a lot of packets.
> 
> 
> I agree if you use the strategy of "a ring shutdown down" implies
> "dont wake up until the ring that caused the shutdown opens up"
> What i am saying below is to make a change to that strategy.


Glad we agree on something. Now all I have to do is convince you that
a change to this strategy is not a good idea :)

>>>If you throw the burden to the driver (as i am recommending in all my
>>>arguements so far), it should open up sooner based on priorities.
>>>I didnt wanna bring this earlier because it may take the discussion in
>>>the wrong direction. 
>>>So in your example if n-1 shuts down the driver, then it is upto to the
>>>driver to open it up if any higher prio packet makes it out.
>>
>>
>>How could it do that? n-1 is still completely full and you don't
>>know what the next packet is going to be. Are you proposing to
>>simply throw the packet away in the driver even though its within
>>the configured limits of the qdisc?
> 
> 
> No no Patrick - i am just saying the following:
> - let the driver shutdown whenever a ring is full. Remember which ring X
> shut it down.
> - when you get a tx interupt or prun tx descriptors, if a ring <= X has
> transmitted a packet (or threshold of packets), then wake up the driver
> (i.e open up). 


At this point the qdisc might send new packets. What do you do when a
packet for a full ring arrives?

I see three choices:

- drop it, even though its still within the qdiscs configured limits
- requeue it, which does not work because the qdisc is still active
  and might just hand you the same packet over and over again in a
  busy loop, until the ring has more room (which has the same worst
  case, just that we're sitting in a busy loop now).
- requeue and stop the queue: we're back to where we started since
  now higher priority packets will not get passed to the driver.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists