android_kernel_google_msm/arch/powerpc/include/asm
Eric Dumazet adc3caedd0 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>
Change-Id: Iea51b6104a5420d5c9ed1ea7382cbd53bdb8f4be
2020-11-30 19:31:32 +03:00
..
8xx_immap.h
Kbuild powerpc: Use rwsem.h from generic location 2011-12-16 14:39:48 +11:00
abs_addr.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
agp.h
asm-compat.h
asm-offsets.h
async_tx.h
atomic.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
auxvec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
backlight.h
barrier.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bitops.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
bitsperlong.h
bootx.h
btext.h
bug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bugs.h
byteorder.h
cache.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h
clk_interface.h
cmpxchg.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
code-patching.h
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
cpm.h
cpm1.h
cpm2.h
cputable.h powerpc: Add initial e6500 cpu support 2012-03-15 12:12:21 -05:00
cputhreads.h powerpc: Convert old cpumask API into new one 2011-05-04 15:22:59 +10:00
cputime.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
current.h
dbdma.h
dbell.h powerpc: Fix doorbell type shift 2011-06-20 11:21:48 +10:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
delay.h
device.h powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
disassemble.h
div64.h
dma-mapping.h PowerPC: adapt for dma_map_ops changes 2012-03-28 16:36:33 +02:00
dma.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
edac.h
eeh.h powerpc/eeh: pseries platform config space access in EEH 2012-03-09 11:39:51 +11:00
eeh_event.h powerpc/eeh: Replace pci_dn with eeh_dev for EEH aux components 2012-03-09 11:39:46 +11:00
ehv_pic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
elf.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
emergency-restart.h
emulated_ops.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
epapr_hcalls.h powerpc/epapr: add "memory" as a clobber to all hypercalls 2012-03-29 08:14:14 -05:00
errno.h
exception-64e.h powerpc/book3e-64: use a separate TLB handler when linear map is bolted 2011-06-29 17:47:48 +10:00
exception-64s.h powerpc: Fix bad stack check in exception entry 2014-01-08 09:42:11 -08:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
fb.h
fcntl.h
feature-fixups.h powerpc: Use new CPU feature bit to select 2.06 tlbie 2011-05-04 15:19:26 +10:00
firmware.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
fixmap.h
floppy.h powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_guts.h powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h 2012-03-29 08:14:07 -05:00
fsl_hcalls.h powerpc: introduce ePAPR embedded hypervisor hcall interface 2011-06-27 08:30:19 -05:00
fsl_ifc.h powerpc/fsl: Add support for Integrated Flash Controller 2012-01-04 15:41:22 -06:00
fsl_lbc.h powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
ftrace.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
futex.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
gpio.h
grackle.h
hardirq.h
heathrow.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h powerpc: Define/use HUGETLB_NEED_PRELOAD insead of complicated #if 2011-12-07 16:26:24 +11:00
hvcall.h KVM: PPC: Handle some PAPR hcalls in the kernel 2011-07-12 13:16:55 +03:00
hvconsole.h
hvcserver.h
hvsi.h powerpc/hvsi: Fix conflict with old HVSI driver 2011-07-01 13:10:21 +10:00
hw_breakpoint.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
hw_irq.h powerpc: Fix build of some debug irq code 2012-07-16 09:03:49 -07:00
hydra.h
i8259.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h
io-defs.h
io-workarounds.h powerpc/pci: Make IO workarounds init implicit when first bus is registered 2011-04-27 14:18:31 +10:00
io.h treewide: Fix typos in various parts of the kernel, and fix some comments. 2011-12-02 14:57:31 +01:00
io_event_irq.h powerpc/pseries: Add support for IO event interrupts 2011-05-06 13:19:01 +10:00
ioctl.h
ioctls.h
iommu.h powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
ipcbuf.h
ipic.h
irq.h powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
irq_regs.h
irqflags.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
jump_label.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2014-04-14 06:44:16 -07:00
kdebug.h
kdump.h powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
kexec.h powerpc: Cleanup crash/kexec code 2011-12-08 14:02:23 +11:00
keylargo.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
kgdb.h
kmap_types.h
kprobes.h
kvm.h KVM: PPC: Rename MMIO register identifiers 2012-03-05 14:52:41 +02:00
kvm_44x.h KVM: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
kvm_asm.h KVM: PPC: Add support for Book3S processors in hypervisor mode 2011-07-12 13:16:54 +03:00
kvm_book3s.h powerpc/kvm: Fix VSID usage in 64-bit "PR" KVM 2012-05-16 15:02:11 +02:00
kvm_book3s_32.h KVM: PPC: Use get/set for to_svcpu to help preemption 2012-03-05 14:52:30 +02:00
kvm_book3s_64.h KVM: PPC: Allow for read-only pages backing a Book3S HV guest 2012-03-05 14:52:38 +02:00
kvm_book3s_asm.h KVM: PPC: Implement H_CEDE hcall for book3s_hv in real-mode code 2011-09-25 19:52:30 +03:00
kvm_booke.h KVM: PPC: Add support for Book3S processors in hypervisor mode 2011-07-12 13:16:54 +03:00
kvm_e500.h KVM: PPC: Paravirtualize SPRG4-7, ESR, PIR, MASn 2012-03-05 14:52:26 +02:00
kvm_fpu.h
kvm_host.h KVM: Introduce kvm_memory_slot::arch and move lpage_info into it 2012-03-08 14:10:22 +02:00
kvm_para.h KVM: PPC: refer to paravirt docs in header file 2012-03-05 14:52:41 +02:00
kvm_ppc.h KVM: PPC: Add HPT preallocator 2012-03-05 14:57:28 +02:00
libata-portmap.h
linkage.h
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
local64.h
lppaca.h powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces 2012-03-21 11:16:12 +11:00
lv1call.h powerpc/ps3: Fix hcall lv1_read_repository_node 2011-12-08 14:05:55 +11:00
machdep.h powerpc: Remove NO_IRQ_IGNORE 2012-03-28 11:32:01 +11:00
macio.h treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mc146818rtc.h
mediabay.h
mman.h
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h KVM: PPC: e500: use hardware hint when loading TLB0 entries 2012-03-05 14:52:34 +02:00
mmu-hash32.h
mmu-hash64.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-28 14:41:36 -07:00
mmu.h powerpc: Hugetlb for BookE 2011-09-20 09:19:40 +10:00
mmu_context.h powerpc: Add Initiate Coprocessor Store Word (icswx) support 2011-05-04 15:19:26 +10:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h powerpc/modules: Module CRC relocation fix causes perf issues 2013-08-04 16:25:55 +08:00
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx.h
mpc52xx_psc.h
mpc5121.h
mpc8260.h
mpic.h powerpc/mpic: Properly set default triggers 2012-04-23 11:04:30 +10:00
mpic_msgr.h powerpc/mpic_msgr: fix compile error when SMP disabled 2012-04-19 14:55:56 -05:00
msgbuf.h
msi_bitmap.h
mutex.h
nvram.h
ohare.h
opal.h powerpc/powernv: Update OPAL interfaces 2011-12-07 18:02:02 +11:00
oprofile_impl.h
pSeries_reconfig.h powerpc/pseries: Introduce pSeries_reconfig_notify() 2011-06-29 17:48:22 +10:00
paca.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
page.h powerpc: Work around gcc miscompilation of __pa() on 64-bit 2013-09-07 21:58:14 -07:00
page_32.h
page_64.h powerpc: Only define HAVE_ARCH_HUGETLB_UNMAPPED_AREA if PPC_MM_SLICES 2011-12-07 16:26:21 +11:00
param.h
parport.h
pasemi_dma.h
pci-bridge.h powerpc/eeh: Fix crash on converting OF node to edev 2012-10-13 05:38:39 +09:00
pci.h powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
percpu.h
perf_event.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Fix instruction address sampling on 970 and Power4 2012-03-28 11:33:24 +11:00
pgalloc-32.h
pgalloc-64.h
pgalloc.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
pgtable-ppc32.h
pgtable-ppc64-4k.h
pgtable-ppc64-64k.h
pgtable-ppc64.h powerpc: Whitespace fix to include/asm/pgtable-ppc64.h 2011-06-29 17:48:16 +10:00
pgtable.h powerpc: Add pgprot_cached_noncoherent() 2011-11-25 14:32:52 +11:00
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
poll.h
posix_types.h powerpc: Use generic posix_types.h 2012-02-14 12:01:29 -08:00
ppc-opcode.h powerpc: Emulate non privileged DSCR read and write 2013-05-11 13:48:05 -07:00
ppc-pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
ppc4xx.h
ppc_asm.h powerpc: Fix 64 bit builds with binutils 2.24 2014-06-16 13:45:45 -07:00
processor.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
prom.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
ps3.h
ps3av.h
ps3fb.h
ps3gpu.h
ps3stor.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h powerpc: Hugetlb for BookE 2011-09-20 09:19:40 +10:00
pte-common.h
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h treewide: fix a few typos in comments 2011-05-10 10:16:21 +02:00
pte-hash64.h
ptrace.h powerpc: Implement GET_IP/SET_IP 2012-02-14 15:01:38 +11:00
qe.h doc: fix broken references 2011-09-27 18:08:04 +02:00
qe_ic.h
reg.h powerpc: Add "memory" attribute for mfmsr() 2012-08-09 08:31:27 -07:00
reg_8xx.h
reg_a2.h powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
reg_booke.h powerpc: fix build when CONFIG_BOOKE_WDT is enabled 2012-04-19 14:55:43 -05:00
reg_fsl_emb.h
resource.h
rheap.h
rio.h powerpc/fsl_rio: Fix compile error when CONFIG_FSL_RIO not set 2011-06-02 15:29:08 -05:00
rtas.h powerpc/rtas: Introduce rtas_get_sensor_fast() for IRQ handlers 2016-04-27 18:55:14 +08:00
rtc.h
runlatch.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
scatterlist.h
scom.h
seccomp.h
sections.h powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
sembuf.h
serial.h
setjmp.h
setup.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sfp-machine.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer 2013-04-05 10:04:14 -07:00
smp.h powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
smu.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
socket.h net: introduce SO_MAX_PACING_RATE 2020-11-30 19:31:32 +03:00
sockios.h
sparsemem.h powerpc: Fix oops when echoing bad values to /sys/devices/system/memory/probe 2011-09-20 15:53:23 +10:00
spinlock.h powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces 2012-03-21 11:16:12 +11:00
spinlock_types.h
spu.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
spu_csa.h
spu_info.h
spu_priv1.h
sstep.h
stat.h
statfs.h
string.h
swab.h
swiotlb.h
switch_to.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
synch.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
syscall.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
syscalls.h
systbl.h Cross Memory Attach 2011-10-31 17:30:44 -07:00
tce.h powerpc/powernv: Add TCE SW invalidation support 2011-11-25 14:32:57 +11:00
termbits.h
termios.h
thread_info.h powerpc: Rework runlatch code 2012-03-09 10:55:02 +11:00
time.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
timex.h
tlb.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
tlbflush.h
topology.h cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
trace.h
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
uaccess.h
ucc.h
ucc_fast.h
ucc_slow.h
ucontext.h
udbg.h powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
uic.h
unaligned.h
uninorth.h Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
unistd.h Cross Memory Attach 2011-10-31 17:30:44 -07:00
user.h
vdso.h
vdso_datapage.h
vga.h
vio.h powerpc+sparc/vio: Modernize driver registration 2012-03-28 11:33:24 +11:00
wsp.h powerpc: Add WSP platform 2011-05-06 13:32:35 +10:00
xics.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h