1. 11 7月, 2007 8 次提交
    • P
      [NET_SCHED]: sch_htb: use generic estimator · ee39e10c
      Patrick McHardy 提交于
      Use the generic estimator instead of reimplementing (parts of) it.
      For compatibility always create a default estimator for new classes.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ee39e10c
    • P
      [NET_SCHED]: Remove unnecessary stats_lock pointers · 4bdf3991
      Patrick McHardy 提交于
      Remove stats_lock pointers from qdisc-internal structures, in all cases
      it points to dev->queue_lock. The only case where it is necessary is for
      top-level qdiscs, where it might also point to dev->ingress_lock in case
      of the ingress qdisc. Also remove it from actions completely, it always
      points to the actions internal lock.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bdf3991
    • P
      [NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option · 876d48aa
      Patrick McHardy 提交于
      The generic estimator is always built in anways and all the config options
      does is prevent including a minimal amount of code for setting it up.
      Additionally the option is already automatically selected for most cases.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      876d48aa
    • P
      [SCHED]: Qdisc changes and sch_rr added for multiqueue · d62733c8
      Peter P Waskiewicz Jr 提交于
      Add the new sch_rr qdisc for multiqueue network device support.  Allow
      sch_prio and sch_rr to be compiled with or without multiqueue hardware
      support.
      
      sch_rr is part of sch_prio, and is referenced from MODULE_ALIAS.  This
      was done since sch_prio and sch_rr only differ in their dequeue
      routine.
      Signed-off-by: NPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d62733c8
    • P
      [CORE] Stack changes to add multiqueue hardware support API · f25f4e44
      Peter P Waskiewicz Jr 提交于
      Add the multiqueue hardware device support API to the core network
      stack.  Allow drivers to allocate multiple queues and manage them at
      the netdev level if they choose to do so.
      
      Added a new field to sk_buff, namely queue_mapping, for drivers to
      know which tx_ring to select based on OS classification of the flow.
      Signed-off-by: NPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f25f4e44
    • K
      [NET]: qdisc_restart - couple of optimizations. · e50c41b5
      Krishna Kumar 提交于
      Changes :
      
      - netif_queue_stopped need not be called inside qdisc_restart as
        it has been called already in qdisc_run() before the first skb
        is sent, and in __qdisc_run() after each intermediate skb is
        sent (note : we are the only sender, so the queue cannot get
        stopped while the tx lock was got in the ~LLTX case).
      
      - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1
        meant more packets are available, and __qdisc_run used to loop
        when qdisc_restart() returned -1. During those days, it was
        necessary to make sure that qlen is never less than zero, since
        __qdisc_run would get into an infinite loop if no packets are on
        the queue and this bug in qdisc was there (and worse - no more
        skbs could ever get queue'd as we hold the queue lock too). With
        Herbert's recent change to return values, this check is not
        required.  Hopefully Herbert can validate this change. If at all
        this is required, it should be added to skb_dequeue (in failure
        case), and not to qdisc_qlen.
      Signed-off-by: NKrishna Kumar <krkumar2@in.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e50c41b5
    • K
      [NET]: qdisc_restart - readability changes plus one bug fix. · 6c1361a6
      Krishna Kumar 提交于
      New changes :
      
      - Incorporated Peter Waskiewicz's comments.
      - Re-added back one warning message (on driver returning wrong value).
      
      Previous changes :
      
      - Converted to use switch/case code which looks neater.
      
      - "if (ret == NETDEV_TX_LOCKED && lockless)" is buggy, and the lockless
        check should be removed, since driver will return NETDEV_TX_LOCKED only
        if lockless is true and driver has to do the locking. In the original
        code as well as the latest code, this code can result in a bug where
        if LLTX is not set for a driver (lockless == 0) but the driver is written
        wrongly to do a trylock (despite LLTX being set), the driver returns
        LOCKED. But since lockless is zero, the packet is requeue'd instead of
        calling collision code which will issue warning and free up the skb.
        Instead this skb will be retried with this driver next time, and the same
        result will ensue. Removing this check will catch these driver bugs instead
        of hiding the problem. I am keeping this change to readability section
        since :
        	a. it is confusing to check two things as it is; and
        	b. it is difficult to keep this check in the changed 'switch' code.
      
      - Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is
        the work being done and easier to understand) and do_dev_requeue to
        dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to
        dev_handle_collision (handle_dev_cpu_collision is a small routine with only
        one caller, so there is no need to have two separate routines which also
        results in getting rid of two macros, etc.
      
      - Removed an XXX comment as it should never fail (I suspect this was related
        to batch skb WIP, Jamal ?). Converted some functions to original coding
        style of having the return values and the function name on same line, eg
        prio2list.
      Signed-off-by: NKrishna Kumar <krkumar2@in.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6c1361a6
    • J
      [NET_SCHED]: Cleanup readability of qdisc restart · c716a81a
      Jamal Hadi Salim 提交于
      Over the years this code has gotten hairier. Resulting in many long
      discussions over long summer days and patches that get it wrong.
      This patch helps tame that code so normal people will understand it.
      
      Thanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy
      for their valuable reviews.
      Signed-off-by: NJamal Hadi Salim <hadi@cyberus.ca>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c716a81a
  2. 08 6月, 2007 1 次提交
  3. 04 6月, 2007 2 次提交
  4. 25 5月, 2007 2 次提交
  5. 14 5月, 2007 1 次提交
  6. 11 5月, 2007 5 次提交
  7. 04 5月, 2007 1 次提交
  8. 26 4月, 2007 20 次提交