twx-linux/include/linux
Jiong Wang 06ae48269d lib: reciprocal_div: implement the improved algorithm on the paper mentioned
The new added "reciprocal_value_adv" implements the advanced version of the
algorithm described in Figure 4.2 of the paper except when
"divisor > (1U << 31)" whose ceil(log2(d)) result will be 32 which then
requires u128 divide on host. The exception case could be easily handled
before calling "reciprocal_value_adv".

The advanced version requires more complex calculation to get the
reciprocal multiplier and other control variables, but then could reduce
the required emulation operations.

It makes no sense to use this advanced version for host divide emulation,
those extra complexities for calculating multiplier etc could completely
waive our saving on emulation operations.

However, it makes sense to use it for JIT divide code generation (for
example eBPF JIT backends) for which we are willing to trade performance of
JITed code with that of host. As shown by the following pseudo code, the
required emulation operations could go down from 6 (the basic version) to 3
or 4.

To use the result of "reciprocal_value_adv", suppose we want to calculate
n/d, the C-style pseudo code will be the following, it could be easily
changed to real code generation for other JIT targets.

  struct reciprocal_value_adv rvalue;
  u8 pre_shift, exp;

  // handle exception case.
  if (d >= (1U << 31)) {
    result = n >= d;
    return;
  }
  rvalue = reciprocal_value_adv(d, 32)
  exp = rvalue.exp;
  if (rvalue.is_wide_m && !(d & 1)) {
    // floor(log2(d & (2^32 -d)))
    pre_shift = fls(d & -d) - 1;
    rvalue = reciprocal_value_adv(d >> pre_shift, 32 - pre_shift);
  } else {
    pre_shift = 0;
  }

  // code generation starts.
  if (imm == 1U << exp) {
    result = n >> exp;
  } else if (rvalue.is_wide_m) {
    // pre_shift must be zero when reached here.
    t = (n * rvalue.m) >> 32;
    result = n - t;
    result >>= 1;
    result += t;
    result >>= rvalue.sh - 1;
  } else {
    if (pre_shift)
      result = n >> pre_shift;
    result = ((u64)result * rvalue.m) >> 32;
    result >>= rvalue.sh;
  }

Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-07-07 01:45:31 +02:00
..
amba
avf
bcma
byteorder
can
ceph
clk
crush
decompress
dma
dsa
extcon
firmware/meson
fpga
fsl ptp: support DPAA FMan 1588 timer in ptp_qoriq 2018-06-26 22:15:14 +09:00
gpio
hsi
iio iio: buffer: fix the function signature to match implementation 2018-06-24 14:23:21 +01:00
input Input: make input_report_slot_state() return boolean 2018-06-11 10:21:06 -07:00
irqchip
isdn
lockd
mailbox
mfd - Core Frameworks 2018-06-11 07:23:19 -07:00
mlx4
mlx5 net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager 2018-06-26 15:26:29 -07:00
mmc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
mtd MTD changes: 2018-06-08 10:39:20 -07:00
mux
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2018-06-11 14:24:32 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data Solve a series of broken links for files under Documentation: 2018-06-17 05:25:18 +09:00
power
qed qed*: Utilize FW 8.37.2.0 2018-06-05 10:48:09 -04:00
raid
regulator regulator: gpio: Revert 2018-06-07 14:23:08 +01:00
remoteproc
reset
rpmsg
rtc
sched lockdep: fix fs_reclaim annotation 2018-06-07 17:34:35 -07:00
soc ARM: SoC: late updates 2018-06-11 18:19:45 -07:00
soundwire
spi
ssb
sunrpc NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
ulpi
unaligned
usb sound updates for 4.18 2018-06-06 09:08:38 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h acpi: Add helper for deactivating memory region 2018-06-25 21:30:12 +08:00
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_sdei.h
arm-cci.h
arm-smccc.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
assoc_array.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h atm: Preserve value of skb->truesize when accounting to vcc 2018-06-17 08:27:01 +09:00
atmel_pdc.h
atmel_tc.h
atmel-mci.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h bdi: Fix another oops in wb_workfn() 2018-06-22 12:08:07 -06:00
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h for-linus-20180608 2018-06-08 13:36:19 -07:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h blk-mq: remove blk_mq_tagset_iter 2018-06-14 17:01:45 +02:00
blkdev.h block: Fix transfer when chunk sectors exceeds max 2018-06-26 12:18:27 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf_lirc.h bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF 2018-06-26 11:28:38 +02:00
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf-cgroup.h bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF 2018-06-26 11:28:38 +02:00
bpf.h bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF 2018-06-26 11:28:38 +02:00
bpfilter.h
brcmphy.h net: phy: broadcom: Enable 125 MHz clock on LED4 pin for BCM54612E by default. 2018-06-05 09:43:09 -04:00
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h ACPI / PPTT: fix build when CONFIG_ACPI_PPTT is not enabled 2018-06-05 18:06:24 +01:00
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h
cgroup.h
circ_buf.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
cleancache.h
clk-provider.h This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat_time.h
compat.h disable -Wattribute-alias warning for SYSCALL_DEFINEx() 2018-06-25 23:21:13 +09:00
compiler_types.h kbuild: add macro for controlling warnings to linux/compiler.h 2018-06-25 23:21:12 +09:00
compiler-clang.h
compiler-gcc.h kbuild: add macro for controlling warnings to linux/compiler.h 2018-06-25 23:21:12 +09:00
compiler-intel.h
compiler.h branch-check: fix long->int truncation when profiling branches 2018-06-04 17:28:20 -04:00
completion.h
component.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq.h
cpuhotplug.h
cpuidle.h
cpumask.h net: Refactor XPS for CPUs and Rx queues 2018-07-02 09:06:23 +09:00
cpuset.h
crash_core.h
crash_dump.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h include/linux/dax.h: dax_iomap_fault() returns vm_fault_t 2018-06-28 11:16:44 -07:00
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-buf.h
dma-contiguous.h dma-mapping: move all DMA mapping code to kernel/dma 2018-06-14 08:50:37 +02:00
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h
dma-noncoherent.h
dmaengine.h
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
ds2782_battery.h
dtlk.h
dw_apb_timer.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
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: Convert GRO SKB handling to list_head. 2018-06-26 11:33:04 +09:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: undo prog rejection on read-only lock failure 2018-06-29 10:47:35 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL 2018-06-28 10:40:47 -07:00
fscache-cache.h
fscache.h
fscrypt_notsupp.h f2fs-for-4.18-rc1 2018-06-11 10:16:13 -07:00
fscrypt_supp.h f2fs-for-4.18-rc1 2018-06-11 10:16:13 -07:00
fscrypt.h
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
ftrace_irq.h
ftrace.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h include/linux/gfp.h: fix the annotation of GFP_ZONE_TABLE 2018-06-07 17:34:38 -07:00
glob.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h Merge branch 'for-4.18/multitouch' into for-linus 2018-06-08 10:25:50 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h mm: add hmm_data to struct page 2018-06-07 17:34:37 -07:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h ieee80211: bump IEEE80211_MAX_AMPDU_BUF to support HE 2018-06-18 22:39:39 +02:00
ieee802154.h
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
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in6.h
in.h
inet_diag.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-pti.h
intel-svm.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h rhashtable: split rhashtable.h 2018-06-22 13:43:27 +09:00
ipc.h rhashtable: split rhashtable.h 2018-06-22 13:43:27 +09:00
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h genirq/debugfs: Add missing IRQCHIP_SUPPORTS_LEVEL_MSI debug 2018-06-22 14:22:00 +02:00
irqbypass.h
irqchip.h
irqdesc.h irqdesc: Delete irq_desc_get_msi_desc() 2018-06-22 14:22:02 +02:00
irqdomain.h
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h sched/core / kcov: avoid kcov_area during task switch 2018-06-15 07:55:24 +09:00
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h kernel.h: Fix a typo in comment 2018-06-21 17:39:18 +02:00
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm/ksm: move [set_]page_stable_node from ksm.h to ksm.c 2018-06-07 17:34:36 -07:00
kthread.h
ktime.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
libata.h SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
linkage.h linux/linkage.h: replace VMLINUX_SYMBOL_STR() with __stringify() 2018-06-13 00:03:17 +09:00
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h net: core: another layer of lists, around PF_MEMALLOC skb handling 2018-07-04 14:06:19 +09:00
livepatch.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h net: phy: remove PM ops from MDIO bus 2018-06-05 08:50:16 -04:00
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm: fix oom_kill event handling 2018-06-15 07:55:25 +09:00
memfd.h mm: restructure memfd code 2018-06-07 17:34:35 -07:00
memory_hotplug.h mm: move is_pageblock_removable_nolock() to mm/memory_hotplug.c 2018-06-07 17:34:36 -07:00
memory.h x86/platform/UV: Add adjustable set memory block size function 2018-06-21 16:14:45 +02:00
mempolicy.h
mempool.h
memremap.h libnvdimm for 4.18 2018-06-08 17:21:52 -07:00
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h mm: add hmm_data to struct page 2018-06-07 17:34:37 -07:00
mm-arch-hooks.h
mm.h mm: Introduce kvcalloc() 2018-06-12 16:19:22 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2018-06-18 13:43:09 +09:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h lib/mpi: headers cleanup 2018-06-07 17:34:39 -07:00
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h rhashtable: split rhashtable.h 2018-06-22 13:43:27 +09:00
mroute.h
msdos_fs.h
msg.h
msi.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h afs: Display manually added cells in dynamic root mount 2018-06-15 15:27:09 +01:00
nd.h
net_dim.h
net.h Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL 2018-06-28 10:40:47 -07:00
netdev_features.h
netdevice.h net: limit each hash list length to MAX_GRO_SKBS 2018-07-05 19:20:16 +09:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h net: ipv4: listified version of ip_rcv 2018-07-04 14:06:20 +09:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h pNFS/flexfiles: Don't tie up all the rpciod threads in resends 2018-06-19 09:25:27 -04:00
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow.h: Add allocation size calculation helpers 2018-06-05 12:16:51 -07:00
oxu210hp.h
padata.h
page_counter.h memcg: introduce memory.min 2018-06-07 17:34:36 -07:00
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page-flags-layout.h
page-flags.h mm: mark pages in use for page tables 2018-06-07 17:34:37 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
parman.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h Merge branch 'lorenzo/pci/vmd' 2018-06-06 16:10:45 -05:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci.h pci-v4.18-changes 2018-06-07 12:45:58 -07:00
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
perf_regs.h
personality.h
pfn_t.h mm: introduce ARCH_HAS_PTE_SPECIAL 2018-06-07 17:34:35 -07:00
pfn.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h
phylink.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Rename opp_node to np 2018-06-25 09:41:37 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h Revert "PM / runtime: Fixup reference counting of device link suppliers at probe" 2018-06-12 10:24:13 +02:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL 2018-06-28 10:40:47 -07:00
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
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
psp-sev.h
pstore_ram.h
pstore.h pstore: Convert internal records to timespec64 2018-06-05 16:57:31 -07:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qcom-geni-se.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
rculist.h
rcupdate_wait.h
rcupdate.h rcu: Update documentation of rcu_read_unlock() 2018-06-10 06:14:01 +02:00
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h lib: reciprocal_div: implement the improved algorithm on the paper mentioned 2018-07-07 01:45:31 +02:00
refcount.h locking/refcounts: Implement refcount_dec_and_lock_irqsave() 2018-06-12 23:33:25 +02:00
regmap.h
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h rfkill: Fixes and cleanup of kernel-doc in the header file 2018-06-15 13:37:07 +02:00
rhashtable-types.h rhashtable: remove nulls_base and related code. 2018-06-22 13:43:27 +09:00
rhashtable.h rhashtable: clean up dereference of ->future_tbl. 2018-06-22 13:43:28 +09:00
ring_buffer.h ring-buffer: Fix typo in comment 2018-06-04 17:28:20 -04:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rmi.h Input: synaptics-rmi4 - convert irq distribution to irq_domain 2018-06-05 10:33:35 -07:00
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h sg: remove ->sg_magic member 2018-06-29 08:48:06 -06:00
scc.h
sched_clock.h
sched.h rseq: Avoid infinite recursion when delivering SIGSEGV 2018-06-22 19:04:22 +02:00
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h sctp: add support for dscp and flowlabel per transport 2018-07-04 11:36:54 +09:00
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h
sfi_acpi.h
sfi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h
shdma-base.h
shm.h
shmem_fs.h mm: restructure memfd code 2018-06-07 17:34:35 -07:00
shrinker.h
signal_types.h
signal.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-03 10:29:26 +09:00
slab_def.h slab: clean up the code comment in slab kmem_cache struct 2018-06-07 17:34:34 -07:00
slab.h mm: fix race between kmem_cache destroy, create and deactivate 2018-06-15 07:55:23 +09:00
slimbus.h
slub_def.h slub: fix failure when we delete and create a slab cache 2018-06-28 11:16:44 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
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 atomic: Add irqsave variant of atomic_dec_and_lock() 2018-06-12 23:33:24 +02:00
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h Kbuild: rename CC_STACKPROTECTOR[_STRONG] config variables 2018-06-14 12:21:18 +09:00
stacktrace.h
start_kernel.h
stat.h vfs: change inode times to use struct timespec64 2018-06-05 16:57:31 -07:00
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-04 17:45:38 -07:00
swap_cgroup.h
swap_slots.h
swap.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscalls.h disable -Wattribute-alias warning for SYSCALL_DEFINEx() 2018-06-25 23:21:13 +09:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.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: ignore rcv_rtt sample with old ts ecr value 2018-06-22 13:45:01 +09:00
tee_drv.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
thunderbolt.h
ti_wilink_st.h
ti-emif-sram.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time32.h
time64.h
time.h
timecounter.h
timekeeper_internal.h
timekeeping32.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h
tpm.h
trace_clock.h
trace_events.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
trace_seq.h
trace.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h docs: fix broken references with multiple hints 2018-06-15 18:10:01 -03:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h USB/PHY patches for 4.18-rc1 2018-06-05 16:14:12 -07:00
typecheck.h
types.h include/linux/types.h: use fixed width types without double-underscore prefix 2018-06-07 17:34:38 -07:00
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h net: Convert GRO SKB handling to list_head. 2018-06-26 11:33:04 +09:00
uidgid.h
uio_driver.h
uio.h
umh.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: prevent non-cooperative events vs mcopy_atomic races 2018-06-07 17:34:38 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h
verification.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
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan 2018-06-07 16:15:38 -04:00
virtio_ring.h virtio_ring: switch to dma_XX barriers for rpmsg 2018-06-07 20:54:23 +03:00
virtio_vsock.h
virtio.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h mm: Use overflow helpers in kvmalloc() 2018-06-05 12:16:51 -07:00
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
w1.h
wait_bit.h
wait.h
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h