kernel_optimize_test/include/uapi/linux
Vinicius Costa Gomes 5a781ccbd1 tc: Add support for configuring the taprio scheduler
This traffic scheduler allows traffic classes states (transmission
allowed/not allowed, in the simplest case) to be scheduled, according
to a pre-generated time sequence. This is the basis of the IEEE
802.1Qbv specification.

Example configuration:

tc qdisc replace dev enp3s0 parent root handle 100 taprio \
          num_tc 3 \
	  map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
	  queues 1@0 1@1 2@2 \
	  base-time 1528743495910289987 \
	  sched-entry S 01 300000 \
	  sched-entry S 02 300000 \
	  sched-entry S 04 300000 \
	  clockid CLOCK_TAI

The configuration format is similar to mqprio. The main difference is
the presence of a schedule, built by multiple "sched-entry"
definitions, each entry has the following format:

     sched-entry <CMD> <GATE MASK> <INTERVAL>

The only supported <CMD> is "S", which means "SetGateStates",
following the IEEE 802.1Qbv-2015 definition (Table 8-6). <GATE MASK>
is a bitmask where each bit is a associated with a traffic class, so
bit 0 (the least significant bit) being "on" means that traffic class
0 is "active" for that schedule entry. <INTERVAL> is a time duration
in nanoseconds that specifies for how long that state defined by <CMD>
and <GATE MASK> should be held before moving to the next entry.

This schedule is circular, that is, after the last entry is executed
it starts from the first one, indefinitely.

The other parameters can be defined as follows:

 - base-time: specifies the instant when the schedule starts, if
  'base-time' is a time in the past, the schedule will start at

 	      base-time + (N * cycle-time)

   where N is the smallest integer so the resulting time is greater
   than "now", and "cycle-time" is the sum of all the intervals of the
   entries in the schedule;

 - clockid: specifies the reference clock to be used;

The parameters should be similar to what the IEEE 802.1Q family of
specification defines.

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-04 13:52:23 -07:00
..
android
byteorder
caif
can
cifs
dvb media: dvb/audio.h: get rid of unused APIs 2018-07-30 16:21:49 -04:00
genwqe
hdlc
hsi
iio iio: Add modifier for DUV light 2018-07-23 19:18:10 +01:00
isdn
mmc
netfilter netfilter: uapi: fix linux/netfilter/nf_osf.h userspace compilation errors 2018-08-16 19:37:09 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: add ebt_get_target and ebt_get_target_c 2018-04-24 10:29:18 +02:00
netfilter_ipv4
netfilter_ipv6 netfilter: ip6t_srh: extend SRH matching for previous, next and last SID 2018-05-06 23:33:03 +02:00
nfsd
raid
sched
spi
sunrpc
tc_act net/sched: tunnel_key: Allow to set tos and ttl for tc based ip tunnels 2018-07-19 23:26:01 -07:00
tc_ematch
usb USB/PHY patches for 4.19-rc1 2018-08-18 10:21:49 -07:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h aio: implement IOCB_CMD_POLL 2018-08-06 10:24:33 +02:00
am437x-vpfe.h
apm_bios.h
arcfb.h
arm_sdei.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 Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 22:54:12 -07:00
auto_dev-ioctl.h
auto_fs.h autofs: add AUTOFS_EXP_FORCED flag 2018-08-22 10:52:49 -07:00
auto_fs4.h autofs4: merge auto_fs.h and auto_fs4.h 2018-06-07 17:34:39 -07:00
auxvec.h
ax25.h
b1lli.h
batadv_packet.h
batman_adv.h
baycom.h
bcache.h bcache: style fix to add a blank line after declarations 2018-08-11 15:46:41 -06:00
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h include/uapi/linux/blkzoned.h: Remove a superfluous __packed directive 2018-07-09 09:07:52 -06:00
bpf_common.h
bpf_perf_event.h
bpf.h flow_dissector: implements flow dissector BPF hook 2018-09-14 12:04:33 -07:00
bpfilter.h net: add skeleton of bpfilter kernel module 2018-05-23 13:23:40 -04:00
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: btf: Clean up BTF_INT_BITS() in uapi btf.h 2018-07-20 10:25:48 +02:00
btrfs_tree.h
btrfs.h btrfs: Add unprivileged version of ino_lookup ioctl 2018-05-31 11:35:24 +02:00
can.h can: uapi: can.h: Fix can error class mask dir path 2018-07-27 10:40:16 +02:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h
cec.h media: uapi/linux/cec.h: add 5V events 2018-07-25 06:59:23 -04:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h connector: add parent pid and tgid to coredump and exit events 2018-05-01 14:25:37 -04:00
coda_psdev.h
coda.h
coff.h
connector.h
const.h linux/const.h: refactor _BITUL and _BITULL a bit 2018-04-11 10:28:38 -07:00
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h net: dcb: add DSCP to comment about priority selector types 2018-07-29 12:53:54 -07:00
dccp.h
devlink.h devlink: Add support for region snapshot read command 2018-07-12 17:37:13 -07:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dn.h
dns_resolver.h dns: Allow the dns resolver to retrieve a server set 2018-10-04 09:40:52 -07:00
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h MIPS: Add FP_MODE regset support 2018-07-19 13:58:44 -07:00
elfcore.h
errno.h
errqueue.h net/sched: Make etf report drops on error_queue 2018-07-04 22:30:28 +09:00
erspan.h
ethtool.h ethtool: drop get_settings and set_settings callbacks 2018-08-29 19:46:10 -07:00
eventpoll.h eventpoll.h: wrap casts in () properly 2018-07-15 14:03:06 +02:00
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
fpga-dfl.h fpga: dfl: afu: add DFL_FPGA_PORT_DMA_MAP/UNMAP ioctls support 2018-07-15 13:55:47 +02:00
fs.h Add bunch of cleanups, and add support for the Speck128/256 2018-06-05 15:15:32 -07:00
fsi.h fsi: scom: Major overhaul 2018-06-18 15:11:53 +10:00
fsl_hypervisor.h
fsmap.h
fuse.h
futex.h
gameport.h
gen_stats.h net/core: Add new basic hardware counter 2018-09-24 12:18:42 -07:00
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_addr: add IFA_TARGET_NETNSID 2018-09-05 22:27:11 -07:00
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: if_arp: use define instead of hard-coded value 2018-09-21 19:22:32 -07:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h uapi: Fix SPDX tags for files referring to the 'OpenIB.org' license 2018-04-23 11:10:33 -04:00
if_link.h geneve: add ttl inherit support 2018-09-12 20:38:22 -07:00
if_ltalk.h
if_macsec.h
if_packet.h packet: add sockopt to ignore outgoing packets 2018-09-05 22:09:37 -07:00
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
if_vlan.h
if_x25.h
if_xdp.h xsk: Fix umem fill/completion queue mmap on 32-bit 2018-06-08 00:18:02 +02:00
if.h
ife.h
igmp.h
ila.h ila: Flush netlink command to clear xlat table 2018-06-29 11:32:55 +09:00
in_route.h
in.h
in6.h ipv6: Add sockopt IPV6_MULTICAST_ALL analogue to IP_MULTICAST_ALL 2018-09-13 08:17:27 -07:00
inet_diag.h
inotify.h inotify: Add flag IN_MASK_CREATE for inotify_add_watch() 2018-06-27 19:21:25 +02:00
input-event-codes.h
input.h input: add MT_TOOL_DIAL 2018-07-17 15:33:47 +02:00
ioctl.h
ip_vs.h
ip.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
ip6_tunnel.h
ipc.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h Input: stop telling users to snail-mail Vojtech 2018-07-26 17:04:37 -07:00
Kbuild
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h mm: mark pages in use for page tables 2018-06-07 17:34:37 -07:00
kernel.h
kernelcapi.h
kexec.h
keyboard.h kbd: complete dead keys definitions 2018-07-07 17:41:38 +02:00
keyctl.h Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name" 2018-09-25 13:28:58 +02:00
kfd_ioctl.h drm/amd: Add CU-masking ioctl definition to kfd_ioctl.h 2018-07-14 19:05:58 -04:00
kvm_para.h KVM: X86: Implement PV IPIs in linux guest 2018-08-06 17:59:22 +02:00
kvm.h KVM: x86: Control guest reads of MSR_PLATFORM_INFO 2018-09-20 00:51:46 +02:00
l2tp.h l2tp: ignore L2TP_ATTR_MTU 2018-08-03 10:03:57 -07:00
libc-compat.h
lightnvm.h
limits.h
lirc.h media: rc: add ioctl to get the current timeout 2018-04-20 09:15:18 -04:00
llc.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h media: v4l: Add new 2X8 10-bit grayscale media bus code 2018-08-02 06:04:57 -04:00
media.h media: media.h: remove linux/version.h include 2018-07-27 07:52:39 -04:00
mei.h
membarrier.h
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h net: phy: add GBit master / slave error detection 2018-07-24 14:41:08 -07:00
minix_fs.h
mman.h
mmtimer.h
module.h
mpls_iptunnel.h
mpls.h
mqueue.h
mroute.h net: ipmr: add support for passing full packet on wrong vif 2018-07-13 14:21:16 -07:00
mroute6.h
msdos_fs.h
msg.h ipc/msg: introduce msgctl(MSG_STAT_ANY) 2018-04-11 10:28:37 -07:00
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h nbd: Add the nbd NBD_DISCONNECT_ON_CLOSE config flag. 2018-06-20 19:10:06 -06:00
ncsi.h
ndctl.h
neighbour.h net: bridge: add support for sticky fdb entries 2018-09-12 20:30:03 -07:00
net_dropmon.h
net_namespace.h
net_tstamp.h net: Use __u32 in uapi net_stamp.h 2018-07-09 16:31:28 -07:00
net.h
netconf.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h netfilter: bridge: Expose nf_tables bridge hook priorities through uapi 2018-08-03 21:15:09 +02:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h
netrom.h
nfc.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nl80211.h nl80211: Add CAN_REPLACE_PTK0 API 2018-09-05 10:03:17 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h media: omap3isp: support 64-bit version of omap3isp_stat_data 2018-05-09 16:37:05 -04:00
omapfb.h
oom.h
openvswitch.h openvswitch: kernel datapath clone action 2018-07-08 11:13:25 +09:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h Merge branch 'pci/virtualization' 2018-08-15 14:59:06 -05:00
pci.h
pcitest.h pci_endpoint_test: Add 2 ioctl commands 2018-07-19 11:46:57 +01:00
perf_event.h perf/UAPI: Clearly mark __PERF_SAMPLE_CALLCHAIN_EARLY as internal use 2018-09-10 10:03:02 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h net: sched: cls_flower: dump offload count value 2018-09-10 10:35:15 -07:00
pkt_sched.h tc: Add support for configuring the taprio scheduler 2018-10-04 13:52:23 -07:00
pktcdvd.h
pmu.h macintosh/via-pmu: Replace via-pmu68k driver with via-pmu driver 2018-07-31 19:56:42 +10:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h l2tp: remove pppol2tp_session_ioctl() 2018-08-11 12:13:49 -07:00
pps.h
pr.h
prctl.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
psample.h
psci.h
psp-sev.h crypto: ccp - Add GET_ID SEV command 2018-05-31 00:13:56 +08:00
ptp_clock.h
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h random: add new ioctl RNDRESEEDCRNG 2018-04-14 11:59:31 -04:00
raw.h
rds.h uapi: Fix linux/rds.h userspace compilation errors. 2018-09-02 16:14:44 -07:00
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 rpmsg: char: Switch to SPDX license identifier 2018-06-03 17:37:16 -07:00
rseq.h rseq: uapi: Declare rseq_cs field as union, update includes 2018-07-10 22:18:52 +02:00
rtc.h
rtnetlink.h net: sched: introduce chain object to uapi 2018-07-23 20:44:12 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams 2018-07-04 11:36:54 +09:00
sdla.h
seccomp.h seccomp: Add filter flag to opt-out of SSB mitigation 2018-05-05 00:51:44 +02:00
securebits.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h ipv6: sr: Add seg6local action End.BPF 2018-05-24 11:57:36 +02:00
seg6.h
selinux_netlink.h
sem.h ipc/sem: introduce semctl(SEM_STAT_ANY) 2018-04-11 10:28:37 -07:00
serial_core.h
serial_reg.h
serial.h
serio.h
shm.h ipc/shm: introduce shmctl(SHM_STAT_ANY) 2018-04-11 10:28:37 -07:00
signal.h
signalfd.h signal/signalfd: Add support for SIGSYS 2018-04-26 19:51:12 -05:00
smc_diag.h net/smc: provide fallback reason code 2018-07-25 22:25:53 -07:00
smc.h
smiapp.h
snmp.h ip: discard IPv4 datagrams with overlapping segments. 2018-08-05 17:16:46 -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 ipv6: Add icmp_echo_ignore_all support for ICMPv6 2018-08-13 08:42:25 -07:00
sysinfo.h
target_core_user.h scsi: target: tcmu: add read length support 2018-06-18 21:02:52 -04:00
taskstats.h
tcp_metrics.h
tcp.h tcp: add stat of data packet reordering events 2018-08-01 09:56:10 -07:00
tee.h
termios.h
thermal.h
time.h time: Introduce struct __kernel_itimerspec 2018-06-24 14:39:46 +02:00
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h tipc: set default MTU for UDP media 2018-04-20 11:04:05 -04:00
tipc_netlink.h tipc: extend sock diag for group communication 2018-06-30 21:05:42 +09:00
tipc_sockets_diag.h
tipc.h tipc: introduce ioctl for fetching node identity 2018-04-27 11:05:41 -04:00
tls.h uapi: Fix SPDX tags for files referring to the 'OpenIB.org' license 2018-04-23 11:10:33 -04:00
toshiba.h
tty_flags.h tty: fix typo in ASYNCB_FOURPORT comment 2018-05-24 18:38:51 +02:00
tty.h
types.h uapi: turn __poll_t sparse checks on by default 2018-05-26 09:16:44 +02:00
udf_fs_i.h
udp.h udp: generate gso with UDP_SEGMENT 2018-04-26 15:08:04 -04:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h media: uvcvideo: Send a control event when a Control Change interrupt arrives 2018-07-27 06:39:57 -04:00
v4l2-common.h
v4l2-controls.h media: v4l2-ctrl: Add control for VP9 profile 2018-07-04 09:32:22 -04:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h media: v4l: Add support for STD ioctls on subdev nodes 2018-07-24 17:39:28 -04:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
veth.h
vfio_ccw.h
vfio.h
vhost.h vhost: fix VHOST_GET_BACKEND_FEATURES ioctl request definition 2018-09-03 21:23:24 -07:00
videodev2.h media: v4l: Add new 10-bit packed grayscale format 2018-08-02 06:07:05 -04:00
virtio_9p.h
virtio_balloon.h virtio_balloon: add array of stat names 2018-04-24 21:44:01 +03:00
virtio_blk.h
virtio_config.h virtio: update the comments for transport features 2018-06-12 04:59:29 +03:00
virtio_console.h
virtio_crypto.h
virtio_gpu.h drm/virtio: add define for second capset to the virgl code. 2018-05-14 11:01:29 +02:00
virtio_ids.h
virtio_input.h
virtio_mmio.h
virtio_net.h virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit 2018-05-28 22:59:54 -04:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h
vm_sockets.h
vmcore.h vmcore: add API to collect hardware dump in second kernel 2018-05-14 13:46:04 -04:00
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wmi.h
x25.h
xattr.h
xfrm.h xfrm: Add a new lookup key to match xfrm interfaces. 2018-06-23 16:07:15 +02:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h