twx-linux/include/uapi/linux
Linus Torvalds e7cdb60fd2 Merge branch 'zstd-minimal' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull zstd support from Chris Mason:
 "Nick Terrell's patch series to add zstd support to the kernel has been
  floating around for a while. After talking with Dave Sterba, Herbert
  and Phillip, we decided to send the whole thing in as one pull
  request.

  zstd is a big win in speed over zlib and in compression ratio over
  lzo, and the compression team here at FB has gotten great results
  using it in production. Nick will continue to update the kernel side
  with new improvements from the open source zstd userland code.

  Nick has a number of benchmarks for the main zstd code in his lib/zstd
  commit:

      I ran the benchmarks on a Ubuntu 14.04 VM with 2 cores and 4 GiB
      of RAM. The VM is running on a MacBook Pro with a 3.1 GHz Intel
      Core i7 processor, 16 GB of RAM, and a SSD. I benchmarked using
      `silesia.tar` [3], which is 211,988,480 B large. Run the following
      commands for the benchmark:

        sudo modprobe zstd_compress_test
        sudo mknod zstd_compress_test c 245 0
        sudo cp silesia.tar zstd_compress_test

      The time is reported by the time of the userland `cp`.
      The MB/s is computed with

        1,536,217,008 B / time(buffer size, hash)

      which includes the time to copy from userland.
      The Adjusted MB/s is computed with

        1,536,217,088 B / (time(buffer size, hash) - time(buffer size, none)).

      The memory reported is the amount of memory the compressor
      requests.

        | Method   | Size (B) | Time (s) | Ratio | MB/s    | Adj MB/s | Mem (MB) |
        |----------|----------|----------|-------|---------|----------|----------|
        | none     | 11988480 |    0.100 |     1 | 2119.88 |        - |        - |
        | zstd -1  | 73645762 |    1.044 | 2.878 |  203.05 |   224.56 |     1.23 |
        | zstd -3  | 66988878 |    1.761 | 3.165 |  120.38 |   127.63 |     2.47 |
        | zstd -5  | 65001259 |    2.563 | 3.261 |   82.71 |    86.07 |     2.86 |
        | zstd -10 | 60165346 |   13.242 | 3.523 |   16.01 |    16.13 |    13.22 |
        | zstd -15 | 58009756 |   47.601 | 3.654 |    4.45 |     4.46 |    21.61 |
        | zstd -19 | 54014593 |  102.835 | 3.925 |    2.06 |     2.06 |    60.15 |
        | zlib -1  | 77260026 |    2.895 | 2.744 |   73.23 |    75.85 |     0.27 |
        | zlib -3  | 72972206 |    4.116 | 2.905 |   51.50 |    52.79 |     0.27 |
        | zlib -6  | 68190360 |    9.633 | 3.109 |   22.01 |    22.24 |     0.27 |
        | zlib -9  | 67613382 |   22.554 | 3.135 |    9.40 |     9.44 |     0.27 |

      I benchmarked zstd decompression using the same method on the same
      machine. The benchmark file is located in the upstream zstd repo
      under `contrib/linux-kernel/zstd_decompress_test.c` [4]. The
      memory reported is the amount of memory required to decompress
      data compressed with the given compression level. If you know the
      maximum size of your input, you can reduce the memory usage of
      decompression irrespective of the compression level.

        | Method   | Time (s) | MB/s    | Adjusted MB/s | Memory (MB) |
        |----------|----------|---------|---------------|-------------|
        | none     |    0.025 | 8479.54 |             - |           - |
        | zstd -1  |    0.358 |  592.15 |        636.60 |        0.84 |
        | zstd -3  |    0.396 |  535.32 |        571.40 |        1.46 |
        | zstd -5  |    0.396 |  535.32 |        571.40 |        1.46 |
        | zstd -10 |    0.374 |  566.81 |        607.42 |        2.51 |
        | zstd -15 |    0.379 |  559.34 |        598.84 |        4.61 |
        | zstd -19 |    0.412 |  514.54 |        547.77 |        8.80 |
        | zlib -1  |    0.940 |  225.52 |        231.68 |        0.04 |
        | zlib -3  |    0.883 |  240.08 |        247.07 |        0.04 |
        | zlib -6  |    0.844 |  251.17 |        258.84 |        0.04 |
        | zlib -9  |    0.837 |  253.27 |        287.64 |        0.04 |

  I ran a long series of tests and benchmarks on the btrfs side and the
  gains are very similar to the core benchmarks Nick ran"

* 'zstd-minimal' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  squashfs: Add zstd support
  btrfs: Add zstd support
  lib: Add zstd modules
  lib: Add xxhash module
2017-09-14 17:30:49 -07:00
..
android ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl 2017-09-01 09:21:12 +02:00
byteorder
caif
can
cifs
dvb media: dvb headers: make checkpatch happier 2017-09-05 07:10:24 -04:00
genwqe
hdlc
hsi
iio
isdn
mmc
netfilter netfilter: nft_limit: add stateful object type 2017-09-04 13:25:16 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: Runtime support for multiple ppls 2017-08-28 07:45:48 -07:00
sched sched/headers/uapi: Fix linux/sched/types.h userspace compilation errors 2017-07-08 11:17:55 +02:00
spi
sunrpc
tc_act
tc_ematch
usb include: uapi: usb: Introduce USB charger type and state definition 2017-08-15 15:05:00 +03:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h annotate RWF_... flags 2017-08-31 17:32:38 -04:00
am437x-vpfe.h
apm_bios.h
arcfb.h
aspeed-lpc-ctrl.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h autofs: make dev ioctl version and ismountpoint user accessible 2017-09-08 18:26:50 -07:00
auto_fs4.h autofs: remove unused AUTOFS_IOC_EXPIRE_DIRECT/INDIRECT 2017-09-08 18:26:50 -07:00
auto_fs.h Fix up over-eager 'wait_queue_t' renaming 2017-07-10 11:40:19 -07:00
auxvec.h
ax25.h
b1lli.h
batman_adv.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h blktrace: export cgroup info in trace 2017-07-29 09:00:03 -06:00
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: make error reporting in bpf_warn_invalid_xdp_action more clear 2017-09-08 21:13:09 -07:00
bpqether.h
bsg.h
bt-bmc.h
btrfs_tree.h
btrfs.h btrfs: Add zstd support 2017-08-15 09:02:09 -07:00
can.h
capability.h Introduce v3 namespaced file capabilities 2017-09-01 14:57:15 -05:00
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h media: cec-funcs.h: cec_ops_report_features: set *dev_features to NULL 2017-08-09 09:36:13 -04:00
cec.h media: cec: rename pin events/function 2017-08-20 08:14:03 -04:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Add IPv6 header for dpipe 2017-08-31 14:42:19 -07:00
dlm_device.h
dlm_netlink.h uapi linux/dlm_netlink.h: include linux/dlmconstants.h 2017-08-07 11:23:09 -05:00
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h sock: add MSG_ZEROCOPY 2017-08-03 21:37:29 -07:00
ethtool.h net: ethtool: add support for forward error correction modes 2017-07-29 23:23:44 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h annotate RWF_... flags 2017-08-31 17:32:38 -04:00
fsl_hypervisor.h
fsmap.h fsmap: fix documentation of FMR_OF_LAST 2017-09-01 13:08:26 -07:00
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gsmmux.h
gtp.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: arp: Add support for raw IP device 2017-08-30 11:41:13 -07:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h net: ether: Add support for multiplexing and aggregation type 2017-08-30 11:41:13 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h gre: introduce native tunnel support for ERSPAN 2017-08-22 14:29:30 -07:00
if_vlan.h
if_x25.h
if.h
ife.h
igmp.h
ila.h
in6.h
in_route.h
in.h
inet_diag.h tcp_diag: report TCP MD5 signing keys and addresses 2017-09-01 18:38:09 -07:00
inotify.h
input-event-codes.h
input.h
ioctl.h
ip6_tunnel.h
ip_vs.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h ipv6: fib: Provide offload indication using nexthop flags 2017-08-15 17:05:03 -07:00
ipv6.h
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild
kcm.h
kcmp.h kcmp: add KCMP_EPOLL_TFD mode to compare epoll target files 2017-07-12 16:26:01 -07:00
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: Implement image tiling mode support v2 2017-08-15 23:00:22 -04:00
kvm_para.h
kvm.h KVM: PPC: Book3S HV: Report storage key support to userspace 2017-08-31 12:36:44 +10:00
l2tp.h
libc-compat.h
lightnvm.h
limits.h
lirc.h
llc.h
loop.h loop: add ioctl for changing logical block size 2017-08-31 13:51:14 -06:00
lp.h
lwtunnel.h ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
magic.h ocfs2: use magic.h 2017-07-06 16:24:30 -07:00
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h
media.h media: drop use of MEDIA_API_VERSION 2017-08-08 06:03:15 -04:00
mei.h
membarrier.h membarrier: Provide expedited private command 2017-08-17 07:28:05 -07:00
memfd.h mm/shmem: add hugetlbfs support to memfd_create() 2017-09-06 17:27:29 -07:00
mempolicy.h mm, mempolicy: simplify rebinding mempolicies when updating cpusets 2017-07-06 16:24:34 -07:00
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h mm: arch: consolidate mmap hugetlb size encodings 2017-09-06 17:27:28 -07:00
mmtimer.h
module.h
mpls_iptunnel.h
mpls.h
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
ndctl.h libnvdimm: clean up command definitions 2017-08-28 08:33:20 -07:00
neighbour.h
net_dropmon.h
net_namespace.h
net_tstamp.h
net.h
netconf.h
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h netlink: add NLM_F_NONREC flag for deletion requests 2017-09-04 17:34:54 +02:00
netrom.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nl80211.h
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h Merge branch 'pci/misc' into next 2017-09-07 13:24:16 -05:00
pci.h
pcitest.h
perf_event.h perf/core, x86: Add PERF_SAMPLE_PHYS_ADDR 2017-08-29 15:09:25 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h drivers/pps: aesthetic tweaks to PPS-related content 2017-09-08 18:26:51 -07:00
pr.h
prctl.h
psample.h
psci.h
ptp_clock.h
ptrace.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h uapi/linux/quota.h: Do not include linux/errno.h 2017-08-14 11:53:34 +02:00
radeonfb.h
random.h
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpmsg.h
rtc.h
rtnetlink.h net sched actions: add time filter for action dumping 2017-07-30 19:28:08 -07:00
rxrpc.h rxrpc: Move the packet.h include file into net/rxrpc/ 2017-07-21 11:00:20 +01:00
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
sdla.h
seccomp.h
securebits.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h ipv6: sr: add support for encapsulation of L2 frames 2017-08-25 17:10:23 -07:00
seg6_local.h ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
seg6.h
selinux_netlink.h
sem.h include/linux/sem.h: correctly document sem_ctime 2017-07-12 16:26:01 -07:00
serial_core.h serial: 8250: of: Add new port type for MediaTek BTIF controller on MT7622/23 SoC 2017-08-28 20:51:22 +02:00
serial_reg.h
serial.h
serio.h
shm.h mm: shm: use new hugetlb size encoding definitions 2017-09-06 17:27:28 -07:00
signal.h
signalfd.h
smc_diag.h
smc.h
smiapp.h
snmp.h tcp: Revert "tcp: remove header prediction" 2017-08-30 11:20:09 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h tcmu: perfom device add, del and reconfig synchronously 2017-07-06 23:11:39 -07:00
taskstats.h
tcp_metrics.h
tcp.h tcp_diag: report TCP MD5 signing keys and addresses 2017-09-01 18:38:09 -07:00
tee.h tee: indicate privileged dev in gen_caps 2017-08-04 10:30:27 +02:00
telephony.h
termios.h
thermal.h
time.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc.h
tls.h
toshiba.h
tty_flags.h
tty.h
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h userfaultfd: provide pid in userfault msg - add feat union 2017-09-06 17:27:29 -07:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
veth.h
vfio_ccw.h
vfio.h
vhost.h
videodev2.h media: v4l: Add packed Bayer raw12 pixel formats 2017-08-26 14:45:24 -04:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_ring.h x86/lguest: Remove lguest support 2017-08-24 09:57:28 +02:00
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
x25.h
xattr.h
xfrm.h net: xfrm: support setting an output mark. 2017-08-11 07:03:00 +02:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h