linux/net/sched
Krishna Kumar 6c1361a6f2 [NET]: qdisc_restart - readability changes plus one bug fix.
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: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-07-10 22:15:35 -07:00
..
act_api.c [PKT_SCHED] act: Use rtnl registration interface 2007-04-25 22:27:11 -07:00
act_gact.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
act_ipt.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
act_mirred.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
act_pedit.c [NET]: Fix comparisons of unsigned < 0. 2007-06-03 18:08:47 -07:00
act_police.c [NET_SCHED]: turn PSCHED_GET_TIME into inline function 2007-04-25 22:27:55 -07:00
act_simple.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_api.c [NET_SCHED]: Eliminate qdisc_tree_lock 2007-04-25 22:29:07 -07:00
cls_basic.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_fw.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_route.c [NET_SCHED]: ingress: switch back to using ingress_lock 2007-04-25 22:29:08 -07:00
cls_rsvp.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_rsvp.h [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_rsvp6.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_tcindex.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
cls_u32.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
em_cmp.c [NET] SCHED: Fix whitespace errors. 2007-02-10 23:20:08 -08:00
em_meta.c [NET] SCHED: Fix whitespace errors. 2007-02-10 23:20:08 -08:00
em_nbyte.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
em_text.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
em_u32.c [SK_BUFF]: Introduce skb_network_header() 2007-04-25 22:24:59 -07:00
ematch.c [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
Kconfig [NET_SCHED]: Use ktime as clocksource 2007-04-25 22:26:04 -07:00
Makefile [NET]: Remove dead net/sched/Makefile entry for sch_hpfq.o. 2007-03-26 16:20:34 -07:00
sch_api.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
sch_atm.c [NET_SCHED]: Fix filter double free 2007-06-07 13:41:05 -07:00
sch_blackhole.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sch_cbq.c [NET_SCHED]: Fix filter double free 2007-06-07 13:41:05 -07:00
sch_dsmark.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
sch_fifo.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sch_generic.c [NET]: qdisc_restart - readability changes plus one bug fix. 2007-07-10 22:15:35 -07:00
sch_gred.c [NET] SCHED: Fix whitespace errors. 2007-02-10 23:20:08 -08:00
sch_hfsc.c [NET_SCHED]: Unline tcf_destroy 2007-04-25 22:27:56 -07:00
sch_htb.c [NET_SCHED]: sch_htb: fix event cache time calculation 2007-05-24 16:36:56 -07:00
sch_ingress.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
sch_netem.c [NET_SCHED]: turn PSCHED_GET_TIME into inline function 2007-04-25 22:27:55 -07:00
sch_prio.c [NET_SCHED]: prio qdisc boundary condition 2007-05-14 02:57:19 -07:00
sch_red.c [NET] SCHED: Fix whitespace errors. 2007-02-10 23:20:08 -08:00
sch_sfq.c [NETLINK]: Use nlmsg_trim() where appropriate 2007-04-25 22:26:37 -07:00
sch_tbf.c [NET_SCHED]: turn PSCHED_GET_TIME into inline function 2007-04-25 22:27:55 -07:00
sch_teql.c [NET_SCHED]: teql_enqueue can check limits before skb enqueue 2007-05-10 23:45:10 -07:00