twx-linux/include/linux
Hannes Frederic Sowa 809fa972fd reciprocal_divide: update/correction of the algorithm
Jakub Zawadzki noticed that some divisions by reciprocal_divide()
were not correct [1][2], which he could also show with BPF code
after divisions are transformed into reciprocal_value() for runtime
invariance which can be passed to reciprocal_divide() later on;
reverse in BPF dump ended up with a different, off-by-one K in
some situations.

This has been fixed by Eric Dumazet in commit aee636c4809fa5
("bpf: do not use reciprocal divide"). This follow-up patch
improves reciprocal_value() and reciprocal_divide() to work in
all cases by using Granlund and Montgomery method, so that also
future use is safe and without any non-obvious side-effects.
Known problems with the old implementation were that division by 1
always returned 0 and some off-by-ones when the dividend and divisor
where very large. This seemed to not be problematic with its
current users, as far as we can tell. Eric Dumazet checked for
the slab usage, we cannot surely say so in the case of flex_array.
Still, in order to fix that, we propose an extension from the
original implementation from commit 6a2d7a955d8d resp. [3][4],
by using the algorithm proposed in "Division by Invariant Integers
Using Multiplication" [5], Torbjörn Granlund and Peter L.
Montgomery, that is, pseudocode for q = n/d where q, n, d is in
u32 universe:

1) Initialization:

  int l = ceil(log_2 d)
  uword m' = floor((1<<32)*((1<<l)-d)/d)+1
  int sh_1 = min(l,1)
  int sh_2 = max(l-1,0)

2) For q = n/d, all uword:

  uword t = (n*m')>>32
  q = (t+((n-t)>>sh_1))>>sh_2

The assembler implementation from Agner Fog [6] also helped a lot
while implementing. We have tested the implementation on x86_64,
ppc64, i686, s390x; on x86_64/haswell we're still half the latency
compared to normal divide.

Joint work with Daniel Borkmann.

  [1] http://www.wireshark.org/~darkjames/reciprocal-buggy.c
  [2] http://www.wireshark.org/~darkjames/set-and-dump-filter-k-bug.c
  [3] https://gmplib.org/~tege/division-paper.pdf
  [4] http://homepage.cs.uiowa.edu/~jones/bcd/divide.html
  [5] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.2556
  [6] http://www.agner.org/optimize/asmlib.zip

Reported-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Austin S Hemmelgarn <ahferroin7@gmail.com>
Cc: linux-kernel@vger.kernel.org
Cc: Jesse Gross <jesse@nicira.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Andy Gospodarek <andy@greyhouse.net>
Cc: Veaceslav Falico <vfalico@redhat.com>
Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-01-21 23:17:20 -08:00
..
amba Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
bcma bcma: export bcma_find_core_unit() 2014-01-04 20:25:19 -05:00
byteorder
can
ceph
clk
crush
decompress
dma
extcon
fsl/bestcomm
gpio gpiolib: add missing declarations 2013-12-03 13:10:47 +01:00
hsi
i2c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
iio
input
irqchip Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00
isdn
lockd
mfd mfd/rtc: s5m: fix register updating by adding regmap for RTC 2013-12-12 18:19:26 -08:00
mlx4 net/mlx4_core: Add basic support for TCP/IP offloads under tunneling 2013-12-31 14:31:43 -05:00
mlx5 mlx5: Use enum to indicate adapter page size 2013-11-08 14:43:01 -08:00
mmc mmc: add SDIO identifiers for Broadcom WLAN devices 2014-01-06 15:48:06 -05:00
mtd mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES 2013-11-06 23:33:14 -08:00
netfilter netfilter: ipset: remove unused code 2014-01-03 23:41:35 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
phy
pinctrl
platform_data net: Cleanup in eth-netx.h 2014-01-02 03:30:35 -05:00
power power_supply: Add support for bq24735 charger 2013-10-25 15:56:51 -07:00
raid
regulator
rtc
sched Merge branch 'sched/core' into core/locking, to prepare the kernel/locking/ file move 2013-11-06 07:50:37 +01:00
spi Merge remote-tracking branch 'spi/topic/wr' into spi-next 2013-10-25 09:51:41 +01:00
ssb
sunrpc SUNRPC: Add a helper to switch the transport of an rpc_clnt 2013-10-28 15:21:32 -04:00
unaligned
usb usb: wusbcore: fix deadlock in wusbhc_gtk_rekey 2013-12-02 15:21:04 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_gpio.h
acpi_io.h
acpi_pmtmr.h
acpi.h ACPI: Provide acpi_dev_name accessor for struct acpi_device device name 2013-11-14 23:20:45 +01:00
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h ... and kill anon_inode_getfile_private() 2013-11-09 00:16:28 -05:00
apm_bios.h
apm-emulation.h
apple_bl.h
arcdevice.h
arm-cci.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h KEYS: Fix multiple key add into associative array 2013-12-02 11:24:18 +00:00
async_tx.h
async.h
ata_platform.h
ata.h libata: Add some missing command descriptions 2013-10-27 08:40:39 -04:00
atalk.h
ath9k_platform.h ath9k: Use a separate TX gain table for WZR-HP-G450H 2013-12-09 15:37:58 -05:00
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h audit: call audit_bprm() only once to add AUDIT_EXECVE information 2013-11-05 11:15:03 -05:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE 2013-12-24 09:35:17 -08:00
average.h
b1pcmcia.h
backing-dev.h bdi: test bdi_init failure 2013-11-08 08:59:44 -07:00
backlight.h
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
bio.h Merge branch 'blk-mq/core' into for-3.13/core 2013-11-08 09:08:12 -07:00
bit_spinlock.h
bitmap.h
bitops.h ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
bitrev.h
blk_types.h blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-iopoll.h
blk-mq.h blk-mq: fix for flush deadlock 2013-10-28 13:33:58 -06:00
blkdev.h blk-mq: ensure that we set REQ_IO_STAT so diskstats work 2013-11-19 09:25:07 -07:00
blktrace_api.h kernel: trace: blktrace: remove redundent memcpy() in compat_blk_trace_setup() 2013-11-08 09:04:30 -07:00
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h net: netprio: rename config to be more consistent with cgroup configs 2014-01-03 23:41:42 +01:00
cgroup.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
cm4000_cs.h
cmdline-parser.h cmdline-parser: fix build 2013-11-15 09:32:23 +09:00
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
com20020.h
compaction.h
compat.h Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h x86, build, icc: Remove uninitialized_var() from compiler-intel.h 2013-12-10 15:01:01 -08:00
compiler.h
completion.h sched: remove INIT_COMPLETION 2013-11-15 09:32:21 +09:00
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h constify do_coredump() argument 2013-11-09 00:16:29 -05:00
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
cpufreq.h Revert "cpufreq: suspend governors on system suspend/hibernate" 2013-12-08 01:04:17 +01:00
cpuidle.h cpuidle: remove cpuidle_unregister_governor() 2013-10-30 01:21:24 +01:00
cpumask.h
cpuset.h cpuset: Fix potential deadlock w/ set_mems_allowed 2013-11-06 12:40:27 +01:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h crash_dump: fix compilation error (on MIPS at least) 2014-01-15 14:19:42 +07:00
crc7.h
crc8.h
crc16.h
crc32.h lib: crc32: add functionality to combine two crc32{, c}s in GF(2) 2013-11-03 23:04:56 -05:00
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h dcache: allow word-at-a-time name hashing with big-endian CPUs 2013-12-12 10:39:01 -08:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
device_cgroup.h
device-mapper.h
device.h ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node 2013-11-14 23:14:43 +01:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function 2013-10-31 14:49:24 +00:00
dmaengine.h Merge commit 'dmaengine-3.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine 2013-11-16 12:02:36 +05:30
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efivars, efi-pstore: Hold off deletion of sysfs entry until the scan is completed 2013-11-28 20:16:55 +00:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h switch elf_coredump_extra_notes_write() to dump_emit() 2013-11-09 00:16:24 -05:00
elfcore-compat.h
elfcore.h switch elf_core_write_extra_data() to dump_emit() 2013-11-09 00:16:23 -05:00
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h etherdevice: Use ether_addr_copy to copy an Ethernet address 2014-01-15 15:39:33 -08:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h asmlinkage, module: Make ksymtab and kcrctab symbols and __this_module __visible 2013-10-29 09:43:37 +10:30
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h framebuffer: Add fb_<level> convenience logging macros 2013-10-29 12:53:04 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h net: filter: let bpf_tell_extensions return SKF_AD_MAX 2014-01-21 18:57:43 -08:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h reciprocal_divide: update/correction of the algorithm 2014-01-21 23:17:20 -08:00
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h consolidate simple ->d_delete() instances 2013-11-15 22:04:17 -05:00
fscache-cache.h
fscache.h
fsl_devices.h
fsl_hypervisor.h
fsl-diu-fb.h
fsnotify_backend.h
fsnotify.h
ftrace_event.h ftrace, perf: Avoid infinite event generation loop 2013-11-19 16:57:40 +01:00
ftrace_irq.h
ftrace.h tracing: Make register/unregister_ftrace_command __init 2013-11-05 17:43:40 -05:00
futex.h
gameport.h
gcd.h
genalloc.h lib/genalloc: add a helper function for DMA buffer allocation 2013-11-13 12:09:22 +09:00
generic_acl.h
genetlink.h
genhd.h
genl_magic_func.h genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
genl_magic_struct.h
getcpu.h
gfp.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h GPIO bulk changes for the v3.13 development cycle 2013-11-12 15:50:46 +09:00
gsmmux.h
hardirq.h
hash.h lib: introduce arch optimized hash library 2013-12-17 14:27:17 -05:00
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h HID: hid-sensor-hub: Add logical min and max 2013-12-02 21:05:30 +00:00
hid-sensor-ids.h iio: hid-sensors: Fix power and report state 2013-12-02 21:05:32 +00:00
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
host1x.h gpu: host1x: Add syncpoint base support 2013-10-31 09:55:48 +01:00
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h mm, thp: move ptl taking inside page_check_address_pmd() 2013-11-15 09:32:14 +09:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h include/linux/hugetlb.h: make isolate_huge_page() an inline 2013-12-12 18:19:25 -08:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h i2c: Re-instate body of i2c_parent_is_i2c_adapter() 2014-01-14 17:11:13 +01:00
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h ieee80211: add definition for SMS4 key len 2014-01-10 20:12:13 +01:00
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h macvlan: unify macvlan_pcpu_stats and vlan_pcpu_stats 2014-01-04 20:11:33 -05:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h
if_tun.h
if_tunnel.h net: unify the pcpu_tstats and br_cpu_netstats as one 2014-01-04 20:10:24 -05:00
if_vlan.h 8021q: make vlan_pcpu_stats visible without CONFIG_VLAN_8021Q 2014-01-05 20:27:55 -05:00
igmp.h
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet_lro.h lro: remove dead code 2013-12-29 16:34:25 -05:00
inet.h
inetdevice.h ipv4: fix wildcard search with inet_confirm_addr() 2013-12-11 14:47:40 -05:00
init_ohci1394_dma.h
init_task.h seqcount: Add lockdep functionality to seqcount/seqlock structures 2013-11-06 12:40:26 +01:00
init.h init.h: document the existence of __initconst 2013-11-13 12:09:26 +09:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h revert "softirq: Add support for triggering softirq work on softirqs" 2013-11-15 09:32:22 +09:00
interval_tree_generic.h
interval_tree.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h ipc, msg: forbid negative values for "msg{max,mnb,mni}" 2013-11-03 10:53:11 -08:00
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h ipv6: make IPV6_RECVPKTINFO work for ipv4 datagrams 2014-01-19 19:53:18 -08:00
irq_cpustat.h
irq_work.h
irq.h genirq: Prevent spurious detection for unconditionally polled interrupts 2013-11-13 16:03:02 +01:00
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h
irqnr.h
irqreturn.h genirq: Correct fuzzy and fragile IRQ_RETVAL() definition 2013-11-19 19:06:41 +01:00
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h
jbd_common.h
jbd.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h tools/vm/page-types.c: support KPF_SOFTDIRTY bit 2013-11-13 12:09:07 +09:00
kernel.h net: introduce reciprocal_scale helper and convert users 2014-01-21 23:17:20 -08:00
kernelcapi.h
kexec.h PCI: Disable Bus Master only on kexec reboot 2013-12-07 14:20:28 -07:00
key-type.h
key.h
keyboard.h
kfifo.h kfifo API type safety 2013-11-15 09:32:23 +09:00
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_completion.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h Merge branch 'kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into queue 2013-11-04 10:20:57 +02:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
lglock.h no need to keep brlock macros anymore... 2013-11-09 00:16:21 -05:00
lguest_launcher.h
lguest.h
libata.h libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs 2013-12-17 07:03:14 -05:00
libfdt_env.h
libfdt.h
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h list: introduce list_last_entry(), use list_{first,last}_entry() 2013-11-13 12:09:24 +09:00
llc.h
llist.h llists: move llist_reverse_order from raid5 to llist.c 2013-11-15 09:32:22 +09:00
lockdep.h seqcount: Add lockdep functionality to seqcount/seqlock structures 2013-11-06 12:40:26 +01:00
lockref.h mm: do not allocate page->ptl dynamically, if spinlock_t fits to long 2013-12-20 12:25:45 -08:00
log2.h
lp.h
lru_cache.h
lsm_audit.h
lz4.h
lzo.h
m48t86.h
mailbox.h
maple.h
marvell_phy.h
math64.h math64: Add mul_u64_u32_shr() 2013-12-11 15:52:34 +01:00
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h mdio: unused ethtool functions 2013-12-26 13:29:35 -05:00
mei_cl_bus.h
memblock.h mm/memblock.c: introduce bottom-up allocation mode 2013-11-13 12:09:08 +09:00
memcontrol.h
memory_hotplug.h mm/sparsemem: use PAGES_PER_SECTION to remove redundant nr_pages parameter 2013-11-13 12:09:06 +09:00
memory.h
mempolicy.h mm, mempolicy: make mpol_to_str robust and always succeed 2013-11-13 12:09:05 +09:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h micrel: add support for KSZ8041RNLI 2013-12-11 13:54:13 -05:00
migrate_mode.h
migrate.h aio/migratepages: make aio migrate pages sane 2013-12-21 17:56:08 -05:00
mii.h
miscdevice.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse 2013-11-13 15:27:00 +09:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h mm: do not allocate page->ptl dynamically, if spinlock_t fits to long 2013-12-20 12:25:45 -08:00
mm.h mm: do not allocate page->ptl dynamically, if spinlock_t fits to long 2013-12-20 12:25:45 -08:00
mman.h mm: factor commit limit calculation 2013-11-13 12:09:11 +09:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h RCU'd vfsmounts 2013-11-09 00:16:19 -05:00
mpage.h
mpi.h
mroute6.h
mroute.h
msdos_fs.h
msg.h ipc, msg: fix message length check for negative values 2013-11-13 12:09:36 +09:00
msi.h PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
msm_mdp.h
mutex-debug.h
mutex.h locking/doc: Update references to kernel/mutex.c 2013-11-11 12:41:33 +01:00
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
n_r3964.h
namei.h RCU'd vfsmounts 2013-11-09 00:16:19 -05:00
nbd.h
net.h net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
netdev_features.h net: Add layer 2 hardware acceleration operations for macvlan devices 2013-11-07 19:11:41 -05:00
netdevice.h net: Add GRO support for UDP encapsulating protocols 2014-01-21 18:05:04 -08:00
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h netlink: cleanup tap related functions 2014-01-01 23:43:36 -05:00
netpoll.h netpoll: fix rx_hook() interface by passing the skb 2013-10-25 19:26:58 -04:00
nfs3.h
nfs4.h NFS client bugfixes 2013-12-05 13:05:48 -08:00
nfs_fs_i.h
nfs_fs_sb.h NFS: cache parsed auth_info in nfs_server 2013-10-28 15:37:43 -04:00
nfs_fs.h NFS: Enabling v4.2 should not recompile nfsd and lockd 2013-11-19 16:20:40 -05:00
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFS: add support for multiple sec= mount options 2013-10-28 15:38:02 -04:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
ntb.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h gpiolib: include gpio/consumer.h in of_gpio.h for desc_to_gpio() 2013-10-29 18:26:14 -07:00
of_iommu.h
of_irq.h dt/irq: add empty of_irq_count for !OF_IRQ 2013-11-08 10:47:28 -06:00
of_mdio.h phylib: Add of_phy_attach 2014-01-13 14:29:49 -08:00
of_mtd.h of_mtd: Add no-op stubs to support CONFIG_OF=n 2013-10-27 16:26:58 -07:00
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of.h DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-iommu.h
omap-mailbox.h
omapfb.h
oom.h mm: add a helper function to check may oom condition 2013-11-13 12:09:04 +09:00
openvswitch.h
oprofile.h
oxu210hp.h
padata.h padata: make the sequence counter an atomic_t 2013-10-30 12:02:58 +08:00
page_cgroup.h
page-debug-flags.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
pci_ids.h
pci-acpi.h ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro 2013-11-14 23:17:21 +01:00
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-15 11:56:47 -08:00
pcieport_if.h PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
pda_power.h
percpu_counter.h
percpu_ida.h percpu_ida: add an API to return free tags 2013-10-25 11:56:00 +01:00
percpu-defs.h percpu: fix spurious sparse warnings from DEFINE_PER_CPU() 2013-12-05 12:59:23 -05:00
percpu-refcount.h
percpu-rwsem.h
percpu.h Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2013-11-13 15:17:16 +09:00
perf_event.h
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy_fixed.h
phy.h phylib: Support attaching to generic 10g driver 2014-01-13 14:29:49 -08:00
pid_namespace.h pid_namespace: make freeing struct pid_namespace rcu-delayed 2013-10-24 23:43:29 -04:00
pid.h
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h PM / OPP: rename header to linux/pm_opp.h 2013-10-25 22:33:23 +02:00
pm_qos.h
pm_runtime.h
pm_wakeup.h
pm.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
preempt_mask.h preempt: Make PREEMPT_ACTIVE generic 2013-11-13 20:21:47 +01:00
preempt.h
prefetch.h
printk.h printk: Add a DEPRECATED macro 2013-12-31 13:58:40 -05:00
prio_heap.h
proc_fs.h
proc_ns.h
profile.h
projid.h
proportions.h
pstore_ram.h
pstore.h pstore: Don't allow high traffic options on fragile devices 2013-12-20 13:12:01 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random32: add prandom_u32_max and convert open coded users 2014-01-21 23:17:20 -08:00
range.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree.h rbtree: fix rbtree_postorder_for_each_entry_safe() iterator 2013-11-13 12:09:33 +09:00
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h
rcutiny.h
rcutree.h
reboot.h kexec: migrate to reboot cpu 2013-12-18 19:04:50 -08:00
reciprocal_div.h reciprocal_divide: update/correction of the algorithm 2014-01-21 23:17:20 -08:00
regmap.h Merge remote-tracking branch 'regmap/topic/spmi' into regmap-next 2013-10-28 13:01:35 -07:00
regset.h
relay.h
remoteproc.h
res_counter.h
reservation.h
reset-controller.h
reset.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h net: allow netdev_all_upper_get_next_dev_rcu with rtnl lock held 2013-12-17 21:19:08 -08:00
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched_clock.h
sched.h sched/fair: Rework sched_fair time accounting 2013-12-11 15:52:35 +01:00
screen_info.h
sctp.h sctp: fix missing SCTP mailing list address update 2014-01-19 19:55:50 -08:00
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
sem.h
semaphore.h
seq_file_net.h
seq_file.h seq_file: introduce seq_setwidth() and seq_pad() 2013-11-15 09:32:20 +09:00
seqlock.h seqlock: Use raw_ prefix instead of _no_lockdep 2014-01-12 10:13:59 +01:00
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.h
sh_clk.h
sh_dma.h
sh_eth.h sh_eth: add PHY IRQ to platform data 2013-12-19 19:09:38 -05:00
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h security: shmem: implement kernel private shmem inodes 2013-12-02 11:24:19 +00:00
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h net: Add skb_get_hash_raw 2014-01-16 16:22:54 -08:00
slab_def.h reciprocal_divide: update/correction of the algorithm 2014-01-21 23:17:20 -08:00
slab.h slab.h: remove duplicate kmalloc declaration and fix kernel-doc warnings 2013-11-24 11:01:16 -08:00
slub_def.h Merge branch 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2013-11-22 08:10:34 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h kernel-provide-a-__smp_call_function_single-stub-for-config_smp-fix 2013-11-15 09:32:22 +09:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h socket: cleanups 2014-01-03 20:55:58 -05:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h srcu: API for barrier after srcu read unlock 2013-11-06 09:32:09 +02:00
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h stmmac: Fix kernel crashes for jumbo frames 2014-01-21 17:05:27 -08:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
swab.h
swap.h
swapfile.h
swapops.h mm, hugetlb: convert hugetlbfs to use split pmd lock 2013-11-15 09:32:14 +09:00
swiotlb.h
synclink.h
sys_soc.h
sys.h
syscalls.h This batch of changes is mostly clean ups and small bug fixes. 2013-11-16 12:23:18 -08:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: out_of_order_queue do not use its lock 2014-01-06 16:34:34 -05:00
tegra-ahb.h
tegra-cpuidle.h
tegra-powergate.h ARM: tegra: Provide dummy powergate implementation 2013-11-25 13:34:51 -08:00
tegra-soc.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h ftrace, perf: Avoid infinite event generation loop 2013-11-19 16:57:40 +01:00
transport_class.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:20:12 +09:00
typecheck.h
types.h
u64_stats_sync.h net: Explicitly initialize u64_stats_sync structures for lockdep 2013-11-06 12:40:25 +01:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h uprobes: Export write_opcode() as uprobe_write_opcode() 2013-11-06 20:00:09 +01:00
usb_usual.h
usb.h usb: xhci: Link TRB must not occur within a USB payload burst 2013-12-02 11:57:10 -08:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h virtio_ring: change host notification API 2013-10-29 11:28:11 +10:30
virtio_scsi.h
virtio.h virtio_ring: add new function virtqueue_is_broken() 2013-10-29 11:28:17 +10:30
vlynq.h
vm_event_item.h mm: numa: return the number of base pages altered by protection changes 2013-11-13 12:09:11 +09:00
vm_sockets.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
wait.h wait: add wait_event_cmd() 2013-11-14 15:16:16 +11:00
wanrouter.h
watchdog.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h writeback: do not sync data dirtied after sync start 2013-11-13 12:09:07 +09:00
ww_mutex.h
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h