- 04 1月, 2006 2 次提交
-
-
由 Arnaldo Carvalho de Melo 提交于
To help in reducing the number of include dependencies, several files were touched as they were getting needed headers indirectly for stuff they use. Thanks also to Alan Menegotto for pointing out that net/dccp/proto.c had linux/dccp.h include twice. Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Stephen Hemminger 提交于
Here is a new feature for netem in 2.6.16. It adds the ability to randomly corrupt packets with netem. A version was done by Hagen Paul Pfeifer, but I redid it to handle the cases of backwards compatibility with netlink interface and presence of hardware checksum offload. It is useful for testing hardware offload in devices. Signed-off-by: NStephen Hemminger <shemminger@osdl.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 14 12月, 2005 1 次提交
-
-
由 David S. Miller 提交于
Noticed by Andi Kleen. Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 21 11月, 2005 1 次提交
-
-
由 Andrea Bittau 提交于
If two packets were queued to be sent at the same time in the future, their order would be reversed. This would occur because the queue is traversed back to front, and a position is found by checking whether the new packet needs to be sent before the packet being examined. If the new packet is to be sent at the same time of a previous packet, it would end up before the old packet in the queue. This patch places packets in the correct order when they are queued to be sent at a same time in the future. Signed-off-by: NAndrea Bittau <a.bittau@cs.ucl.ac.uk> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 18 11月, 2005 1 次提交
-
-
由 Roman Zippel 提交于
On Thu, 17 Nov 2005, David Gómez wrote: > I found out that if i select NET_CLS_ROUTE4, save my changes and exit > menuconfig, execute again make menuconfig and go to QoS options, then the new > available options are visible. So menuconfig has some problem refreshing > contents :? No, they were there before too, but you have to go up one level to see them. It's better in 2.6.15-rc1-git5, but the menu structure is still a little messed up, the patch below properly indents all menu entries. Signed-off-by: NRoman Zippel <zippel@linux-m68k.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 09 11月, 2005 2 次提交
-
-
由 Jesper Juhl 提交于
From: Jesper Juhl <jesper.juhl@gmail.com> This is the net/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in net/. Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: NAndrew Morton <akpm@osdl.org>
-
由 Thomas Graf 提交于
Fixes an invalid memory reference when the basic classifier is used without any ematches but just actions. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 06 11月, 2005 27 次提交
-
-
由 Stephen Hemminger 提交于
Add a version string to help support issues. Signed-off-by: NStephen Hemminger <shemminger@osdl.org> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Stephen Hemminger 提交于
Change netem to support packets getting reordered because of variations in delay. Introduce a special case version of FIFO that queues packets in order based on the netem delay. Since netem is classful, those users that don't want jitter based reordering can just insert a pfifo instead of the default. This required changes to generic skbuff code to allow finer grain manipulation of sk_buff_head. Insertion into the middle and reverse walk. Signed-off-by: NStephen Hemminger <shemminger@osdl.org> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Introduces a new flag TC_RED_HARDDROP which specifies that if ECN marking is enabled packets should still be dropped once the average queue length exceeds the maximum threshold. This _may_ help to avoid global synchronisation during small bursts of peers advertising but not caring about ECN. Use this option very carefully, it does more harm than good if (qth_max - qth_min) does not cover at least two average burst cycles. The difference to the current behaviour, in which we'd run into the hard queue limit, is that due to the low pass filter of RED short bursts are less likely to cause a global synchronisation. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Adds a new u8 flags in a unused padding area of the netlink message. Adds ECN marking support to be used instead of dropping packets immediately. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Removes unnecessary includes, initializers, and simplifies the code a bit. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Since we are no longer depending on the default VQ to be always allocated we can leave it up to the user to actually create it. This gives the user the ability to leave it out on purpose and enqueue packets directly to the device without applying the RED algorithm. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Introduces a new red parameter set for use in equalize mode, although only the qavg variable and the idle period marker are being used for now this makes it possible to allow a separate parameter set to be used for equalize later on. The use of this separate parameter set fixes a bogus start of an idle period in gred_drop() which did start an idle period on the default VQ even if equalize mode was disabled. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
The case when the default VQ is not set up yet is already handled in a less error prone way. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Try to enqueue packets if we cannot associate it with a VQ, this basically means that the default VQ has not been set up yet. We must check if the VQ still exists while requeueing, the VQ might have been changed between dequeue and the requeue of the underlying qdisc. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Adds a transformation function returning the DP index for a given skb according to its tc_index. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Qdiscs are not supposed to reset statistics in reset() and while changing parameters. My argumentation is that if the user wants the counters to be reset he can simply remove and readd the qdiscs, that's what most users do anyway. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Simplifies code a lot by separating the red algorithm and the queueing logic. We now differentiate between probability marks and forced marks but sum them together again to not break backwards compatibility. This brings GRED back to the level of RED and improves the accuracy of the averge queue length calculations when stab suggests a zero shift. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Introduces a function gred_change_vq() acting as a central point to change VQ parameters. Fixes priority inheritance in rio mode when the default DP equals 0. Adds proper locking during changes. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Introduces a function gred_change_table_def() acting as a central point to change the table definition. Adds missing validations for table definition: MAX_DPs > DPs > 0 and def_DP < DPs thus fixing possible invalid memory reference oopses. Only root could do it but having a typo crashing the machine is a bit hard. Adds missing locking while changing the table definition, the operation of changing the number of DPs and removing shadowed VQs may not be interrupted by a dequeue. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Avoids the allocation of a buffer by appending the VQs directly to the skb and simplifies the code by using the appropriate message construction macros. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Introduces a flags variable using bitops and transforms eqp to use it. Converts the conditions of the form (wred && rio) to (wred) since wred can only be enabled in rio mode anyway. The patch also improves WRED mode detection. The current behaviour does not allow WRED mode to be turned off again without removing the whole qdisc first. The new algorithm checks each VQ against each other looking for equal priorities every time a VQ is changed or added. The performance is poor, O(n**2), but it's used only during administrative tasks and the number of VQs is strictly limited. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Removes the skb trimming code which is not needed since we never touch the skb upon failure. Removes unnecessary includes, initializers, and simplifies the code a bit. Removes Jamal's obsolete email addresses upon his own request. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
We should not interrupt and restart an idle period while idling already. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Thomas Graf 提交于
Simplifies code a lot by separating the red algorithm and the queueing logic. We now differentiate between probability marks and forced marks but sum them together again to not break backwards compatibility. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
由 Stephen Hemminger 提交于
Convert netem to use PSCHED_LESS and warn if requeue fails. With some of the psched clock sources, the subtraction doesn't work always work right without wrapping. Signed-off-by: NStephen Hemminger <shemminger@osdl.org> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
- 03 11月, 2005 1 次提交
-
-
由 Thomas Graf 提交于
Make "QoS and/or fair queueing" have its own menu, it's too big to be inlined into "Network options". Remove the obsolete NET_QOS option. Automatically select NET_CLS if needed. Do the same for NET_ESTIMATOR but allow it to be selected manually for statistical purposes. Add comments to separate queueing from classification. Fix dependencies and ordering of classifiers. Improve descriptions/help texts and remove outdated pieces. Signed-off-by: NThomas Graf <tgraf@suug.ch> Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
-
- 14 10月, 2005 1 次提交
-
-
由 Andi Kleen 提交于
Opterons with frequency scaling have fully unsynchronized TSCs running at different frequencies, so using TSCs there is not a good idea. Also some other x86 boxes have this problem. gettimeofday should be good enough, so just disable it. Signed-off-by: NAndi Kleen <ak@suse.de> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 04 10月, 2005 1 次提交
-
-
由 Eric Dumazet 提交于
Arnaldo and I agreed it could be applied now, because I have other pending patches depending on this one (Thank you Arnaldo) (The other important patch moves skc_refcnt in a separate cache line, so that the SMP/NUMA performance doesnt suffer from cache line ping pongs) 1) First some performance data : -------------------------------- tcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established() The most time critical code is : sk_for_each(sk, node, &head->chain) { if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif)) goto hit; /* You sunk my battleship! */ } The sk_for_each() does use prefetch() hints but only the begining of "struct sock" is prefetched. As INET_MATCH first comparison uses inet_sk(__sk)->daddr, wich is far away from the begining of "struct sock", it has to bring into CPU cache cold cache line. Each iteration has to use at least 2 cache lines. This can be problematic if some chains are very long. 2) The goal ----------- The idea I had is to change things so that INET_MATCH() may return FALSE in 99% of cases only using the data already in the CPU cache, using one cache line per iteration. 3) Description of the patch --------------------------- Adds a new 'unsigned int skc_hash' field in 'struct sock_common', filling a 32 bits hole on 64 bits platform. struct sock_common { unsigned short skc_family; volatile unsigned char skc_state; unsigned char skc_reuse; int skc_bound_dev_if; struct hlist_node skc_node; struct hlist_node skc_bind_node; atomic_t skc_refcnt; + unsigned int skc_hash; struct proto *skc_prot; }; Store in this 32 bits field the full hash, not masked by (ehash_size - 1) Using this full hash as the first comparison done in INET_MATCH permits us immediatly skip the element without touching a second cache line in case of a miss. Suppress the sk_hashent/tw_hashent fields since skc_hash (aliased to sk_hash and tw_hash) already contains the slot number if we mask with (ehash_size - 1) File include/net/inet_hashtables.h 64 bits platforms : #define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\ (((__sk)->sk_hash == (__hash)) ((*((__u64 *)&(inet_sk(__sk)->daddr)))== (__cookie)) && \ ((*((__u32 *)&(inet_sk(__sk)->dport))) == (__ports)) && \ (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) 32bits platforms: #define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\ (((__sk)->sk_hash == (__hash)) && \ (inet_sk(__sk)->daddr == (__saddr)) && \ (inet_sk(__sk)->rcv_saddr == (__daddr)) && \ (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif)))) - Adds a prefetch(head->chain.first) in __inet_lookup_established()/__tcp_v4_check_established() and __inet6_lookup_established()/__tcp_v6_check_established() and __dccp_v4_check_established() to bring into cache the first element of the list, before the {read|write}_lock(&head->lock); Signed-off-by: NEric Dumazet <dada1@cosmosbay.com> Acked-by: NArnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 10 9月, 2005 1 次提交
-
-
由 Ingo Molnar 提交于
Clean up timer initialization by introducing DEFINE_TIMER a'la DEFINE_SPINLOCK. Build and boot-tested on x86. A similar patch has been been in the -RT tree for some time. Signed-off-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 30 8月, 2005 2 次提交
-
-
由 David S. Miller 提交于
And select it when the relevant modules are enabled. Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Patrick McHardy 提交于
Signed-off-by: NPatrick McHardy <kaber@trash.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-