linux/arch/ia64
Eric Dumazet 62748f32d5 net: introduce SO_MAX_PACING_RATE
As mentioned in commit afe4fd0624 ("pkt_sched: fq: Fair Queue packet
scheduler"), this patch adds a new socket option.

SO_MAX_PACING_RATE offers the application the ability to cap the
rate computed by transport layer. Value is in bytes per second.

u32 val = 1000000;
setsockopt(sockfd, SOL_SOCKET, SO_MAX_PACING_RATE, &val, sizeof(val));

To be effectively paced, a flow must use FQ packet scheduler.

Note that a packet scheduler takes into account the headers for its
computations. The effective payload rate depends on MSS and retransmits
if any.

I chose to make this pacing rate a SOL_SOCKET option instead of a
TCP one because this can be used by other protocols.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Steinar H. Gunderson <sesse@google.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-09-28 15:35:41 -07:00
..
configs PCI: hotplug: Convert to be builtin only, not modular 2013-07-25 14:11:06 -06:00
dig Disintegrate asm/system.h for IA64 2012-03-28 18:30:02 +01:00
hp Add some casts to avoid warnings from efi_runtime_services_t members. 2013-07-10 10:09:04 -07:00
include net: introduce SO_MAX_PACING_RATE 2013-09-28 15:35:41 -07:00
kernel Merge branch 'akpm' (updates from Andrew Morton) 2013-07-03 17:12:13 -07:00
kvm KVM: Introduce kvm_arch_memslots_updated() 2013-07-18 12:29:25 +02:00
lib Fix common misspellings 2011-03-31 11:26:23 -03:00
mm arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
oprofile Disintegrate asm/system.h for IA64 2012-03-28 18:30:02 +01:00
pci PCI: Replace printks with appropriate pr_*() 2013-06-18 09:49:23 -07:00
scripts scripts: change scripts to use system python instead of env 2010-02-02 14:33:56 +01:00
sn PCI changes for the v3.11 merge window: 2013-07-03 16:31:35 -07:00
uv ia64: change to new flag variables 2011-03-17 14:02:56 +01:00
xen [IA64] Delete __cpuinit usage from all ia64 users 2013-06-24 15:44:27 -07:00
install.sh
Kconfig Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
Kconfig.debug
Makefile Merge commit 'v2.6.35' into kbuild/kbuild 2010-08-04 13:59:13 +02:00
module.lds