Merge branch 'sid'

- Drop ABI maintenance patches
- Apply usbip config change in debian/config/config
This commit is contained in:
Ben Hutchings 2018-01-28 19:02:08 +00:00
commit 623cfd4d39
388 changed files with 1029 additions and 740 deletions

215
debian/changelog vendored
View File

@ -60,6 +60,221 @@ linux (4.15~rc5-1~exp1) experimental; urgency=medium
-- Ben Hutchings <ben@decadent.org.uk> Wed, 27 Dec 2017 02:48:14 +0000
linux (4.14.15-1) UNRELEASED; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.14
- dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
- can: gs_usb: fix return value of the "set_bittiming" callback
- IB/srpt: Disable RDMA access by the initiator
- IB/srpt: Fix ACL lookup during login
- [mips*] Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the
task
- [mips*] Factor out NT_PRFPREG regset access helpers
- [mips*] Guard against any partial write attempt with PTRACE_SETREGSET
- [mips*] Consistently handle buffer counter with PTRACE_SETREGSET
- [mips*] Fix an FCSR access API regression with NT_PRFPREG and MSA
- [mips*] Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
- [mips*] Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
- cgroup: fix css_task_iter crash on CSS_TASK_ITER_PROC
- [x86] kvm: vmx: Scrub hardware GPRs at VM-exit (partial mitigation of
CVE-2017-5715, CVE-2017-5753)
- [x86] platform: wmi: Call acpi_wmi_init() later
- iw_cxgb4: only call the cq comp_handler when the cq is armed
- iw_cxgb4: atomically flush the qp
- iw_cxgb4: only clear the ARMED bit if a notification is needed
- iw_cxgb4: reflect the original WR opcode in drain cqes
- iw_cxgb4: when flushing, complete all wrs in a chain
- [x86] acpi: Handle SCI interrupts above legacy space gracefully
- ALSA: pcm: Remove incorrect snd_BUG_ON() usages
- ALSA: pcm: Workaround for weird PulseAudio behavior on rewind error
- ALSA: pcm: Add missing error checks in OSS emulation plugin builder
- ALSA: pcm: Abort properly at pending signal in OSS read/write loops
- ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
- ALSA: aloop: Release cable upon open error path
- ALSA: aloop: Fix inconsistent format due to incomplete rule
- ALSA: aloop: Fix racy hw constraints adjustment
- [x86] acpi: Reduce code duplication in mp_override_legacy_irq()
- 8021q: fix a memory leak for VLAN 0 device
- ip6_tunnel: disable dst caching if tunnel is dual-stack
- net: core: fix module type in sock_diag_bind
- RDS: Heap OOB write in rds_message_alloc_sgs() (CVE-2018-5332)
- RDS: null pointer dereference in rds_atomic_free_op (CVE-2018-5333)
- net: fec: restore dev_id in the cases of probe error
- net: fec: defer probe if regulator is not ready
- net: fec: free/restore resource in related probe error pathes
- sctp: do not retransmit upon FragNeeded if PMTU discovery is disabled
- sctp: fix the handling of ICMP Frag Needed for too small MTUs
- [arm64, armhf] net: stmmac: enable EEE in MII, GMII or RGMII only
- ipv6: fix possible mem leaks in ipv6_make_skb()
- net/sched: Fix update of lastuse in act modules implementing
stats_update
- ipv6: sr: fix TLVs not being copied using setsockopt
- sfp: fix sfp-bus oops when removing socket/upstream
- membarrier: Disable preemption when calling smp_call_function_many()
- crypto: algapi - fix NULL dereference in crypto_remove_spawns()
- rbd: reacquire lock should update lock owner client id
- rbd: set max_segments to USHRT_MAX
- iwlwifi: pcie: fix DMA memory mapping / unmapping
- [x86] microcode/intel: Extend BDW late-loading with a revision check
- [x86] KVM: Add memory barrier on vmcs field lookup
- [powerpc*] KVM: Book3S PR: Fix WIMG handling under pHyp
- [powerpc*] KVM: Book3S HV: Drop prepare_done from struct kvm_resize_hpt
- [powerpc*] KVM: Book3S HV: Fix use after free in case of multiple resize
requests
- [powerpc*] KVM: Book3S HV: Always flush TLB in kvmppc_alloc_reset_hpt()
- [x86] drm/vmwgfx: Don't cache framebuffer maps
- [x86] drm/vmwgfx: Potential off by one in vmw_view_add()
- [x86] drm/i915/gvt: Clear the shadow page table entry after post-sync
- [x86] drm/i915: Whitelist SLICE_COMMON_ECO_CHICKEN1 on Geminilake.
- [x86] drm/i915: Move init_clock_gating() back to where it was
- [x86] drm/i915: Fix init_clock_gating for resume
- bpf: prevent out-of-bounds speculation (partial mitigation of CVE-2017-5753)
- bpf, array: fix overflow in max_entries and undefined behavior in
index_mask
- bpf: arsh is not supported in 32 bit alu thus reject it
- [arm64, armhf] usb: misc: usb3503: make sure reset is low for at least
100us
- USB: fix usbmon BUG trigger
- USB: UDC core: fix double-free in usb_add_gadget_udc_release
- usbip: remove kernel addresses from usb device and urb debug msgs
- usbip: fix vudc_rx: harden CMD_SUBMIT path to handle malicious input
- usbip: vudc_tx: fix v_send_ret_submit() vulnerability to null xfer
buffer
- staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
(CVE-2017-13216)
- mux: core: fix double get_device()
- kdump: write correct address of mem_section into vmcoreinfo
- apparmor: fix ptrace label match when matching stacked labels
- [x86] pti: Unbreak EFI old_memmap
- [x86] Documentation: Add PTI description
- [x86] cpufeatures: Add X86_BUG_SPECTRE_V[12]
- sysfs/cpu: Add vulnerability folder
- [x86] cpu: Implement CPU vulnerabilites sysfs functions
- [x86] tboot: Unbreak tboot with PTI enabled
- [x86] mm/pti: Remove dead logic in pti_user_pagetable_walk*()
- [x86] cpu/AMD: Make LFENCE a serializing instruction
- [x86] cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
- [x86] alternatives: Fix optimize_nops() checking
- [x86] pti: Make unpoison of pgd for trusted boot work for real
- [x86] retpoline: Add initial retpoline support (partial mitigation of
CVE-2017-5715)
- [x86] spectre: Add boot time option to select Spectre v2 mitigation
- [x86] retpoline/crypto: Convert crypto assembler indirect jumps
- [x86] retpoline/entry: Convert entry assembler indirect jumps
- [x86] retpoline/ftrace: Convert ftrace assembler indirect jumps
- [x86] retpoline/hyperv: Convert assembler indirect jumps
- [x86] retpoline/xen: Convert Xen hypercall indirect jumps
- [x86] retpoline/checksum32: Convert assembler indirect jumps
- [x86] retpoline/irq32: Convert assembler indirect jumps
- [x86] retpoline: Fill return stack buffer on vmexit
- [x86] pti: Fix !PCID and sanitize defines
- [x86] perf: Disable intel_bts when PTI
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.15
- tools/objtool/Makefile: don't assume sync-check.sh is executable
- objtool: Fix seg fault with clang-compiled objects
- objtool: Fix Clang enum conversion warning
- objtool: Fix seg fault caused by missing parameter
- [powerpc*] pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper
- [powerpc*] 64: Add macros for annotating the destination of rfid/hrfid
- [powerpc*] 64s: Simple RFI macro conversions
- [powerpc*] 64: Convert the syscall exit path to use RFI_TO_USER/KERNEL
- [powerpc*] 64: Convert fast_exception_return to use RFI_TO_USER/KERNEL
- [powerpc*] 64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL
- [powerpc*] 64s: Add support for RFI flush of L1-D cache
- [powerpc*] 64s: Support disabling RFI flush with no_rfi_flush and nopti
- [powerpc*] pseries: Query hypervisor for RFI flush settings
- [powerpc*] powernv: Check device-tree for RFI flush settings
- futex: Avoid violating the 10th rule of futex
- futex: Prevent overflow by strengthen input validation
- ALSA: seq: Make ioctls race-free (CVE-2018-1000004)
- ALSA: pcm: Remove yet superfluous WARN_ON()
- ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant
- ALSA: hda - Apply the existing quirk to iMac 14,1
- IB/hfi1: Prevent a NULL dereference
- RDMA/mlx5: Fix out-of-bound access while querying AH
- timers: Unconditionally check deferrable base
- af_key: fix buffer overread in verify_address_len()
- af_key: fix buffer overread in parse_exthdrs()
- iser-target: Fix possible use-after-free in connection establishment
error
- delayacct: Account blkio completion on the correct task
- objtool: Fix seg fault with gold linker
- [armhf] mmc: sdhci-esdhc-imx: Fix i.MX53 eSDHCv3 clock
- [x86] kasan: Panic if there is not enough memory to boot
- [x86] retpoline: Fill RSB on context switch for affected CPUs
- [x86] retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
- objtool: Improve error message for bad file argument
- [x86] cpufeature: Move processor tracing out of scattered features
- module: Add retpoline tag to VERMAGIC
- [x86] intel_rdt/cqm: Prevent use after free
- [x86] mm/pkeys: Fix fill_sig_info_pkey
- [x86] idt: Mark IDT tables __initconst
- [x86] tsc: Future-proof native_calibrate_tsc()
- [x86] tsc: Fix erroneous TSC rate on Skylake Xeon
- pipe: avoid round_pipe_size() nr_pages overflow on 32-bit
- [x86] apic/vector: Fix off by one in error path
- [x86] mm: Clean up register saving in the __enc_copy() assembly code
- [x86] mm: Use a struct to reduce parameters for SME PGD mapping
- [x86] mm: Centralize PMD flags in sme_encrypt_kernel()
- [x86] mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption
- [armhf] OMAP3: hwmod_data: add missing module_offs for MMC3
- [x86] mm: Encrypt the initrd earlier for BSP microcode update
- Input: ALPS - fix multi-touch decoding on SS4 plus touchpads
- Input: synaptics-rmi4 - prevent UAF reported by KASAN
- [armhf] Input: twl6040-vibra - fix child-node lookup
- [armhf] Input: twl4030-vibra - fix sibling-node lookup
- tracing: Fix converting enum's from the map in trace_event_eval_update()
- phy: work around 'phys' references to usb-nop-xceiv devices
- [arm64] dts: marvell: armada-cp110: Fix clock resources for various node
- [armhf] sunxi_defconfig: Enable CMA
- [armel] dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7
- can: peak: fix potential bug in packet fragmentation
- can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once
- can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
- i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA
- proc: fix coredump vs read /proc/*/stat race
- libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
- workqueue: avoid hard lockups in show_workqueue_state()
- [x86] drm/vmwgfx: fix memory corruption with legacy/sou connectors
- dm btree: fix serious bug in btree_split_beneath()
- dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6
- dm integrity: don't store cipher request on the stack
- dm crypt: fix crash by adding missing check for auth key size
- dm crypt: wipe kernel key copy after IV initialization
- dm crypt: fix error return code in crypt_ctr()
- [x86] x86: Use __nostackprotect for sme_encrypt_kernel
- [alpha] PCI: Fix noname IRQ level detection
- [mips*] CM: Drop WARN_ON(vp != 0)
- [arm*] KVM: Check pagesize when allocating a hugepage at Stage 2
- [arm64] KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
- [x86] mce: Make machine check speculation protected
- retpoline: Introduce start/end markers of indirect thunk
- [x86] kprobes: Blacklist indirect thunk functions for kprobes
- [x86] kprobes: Disable optimizing on the function jumps to indirect
thunk
- [x86] retpoline: Optimize inline assembler for vmexit_fill_RSB
- [x86] mm: Rework wbinvd, hlt operation in stop_this_cpu()
- mm, page_vma_mapped: Drop faulty pointer arithmetics in check_pte()
- [arm64, armhf] net: mvpp2: do not disable GMAC padding
- [mips]: AR7: ensure the port type's FCR value is used
[ Salvatore Bonaccorso ]
* loop: fix concurrent lo_open/lo_release (CVE-2018-5344)
* Revert "module: Add retpoline tag to VERMAGIC"
* [rt] Update to 4.14.15-rt11
* nfsd: auth: Fix gid sorting when rootsquash enabled (CVE-2018-1000028)
[ Ben Hutchings ]
* bpf: Avoid ABI change in 4.14.14
* usbip: Reduce USBIP_VHCI_HC_PORTS to 15, the maximum allowed for SuperSpeed
hubs (Closes: #878866)
[ Riku Voipio ]
* [arm64] build in reset drivers
-- Salvatore Bonaccorso <carnil@debian.org> Tue, 16 Jan 2018 20:50:23 +0100
linux (4.14.13-1) unstable; urgency=medium
* New upstream stable update:

View File

@ -780,12 +780,6 @@ CONFIG_QCOM_Q6V5_PIL=m
## file: drivers/reset/Kconfig
##
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_MESON=y
##
## file: drivers/reset/hisilicon/Kconfig
##
CONFIG_COMMON_RESET_HI6220=m
##
## file: drivers/rpmsg/Kconfig

View File

@ -5088,7 +5088,7 @@ CONFIG_UCSI_ACPI=m
##
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=31
CONFIG_USBIP_VHCI_HC_PORTS=15
CONFIG_USBIP_VHCI_NR_HCS=8
CONFIG_USBIP_HOST=m
CONFIG_USBIP_VUDC=m

View File

@ -1,57 +0,0 @@
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 10 Jan 2018 08:34:02 +0100
Subject: Disable asynchronous aborts for SATA devices
Origin: https://marc.info/?l=linux-scsi&m=151557324907914
Handling CD-ROM devices from libsas is decidedly odd, as libata
relies on SCSI EH to be started to figure out that no medium is
present.
So we cannot do asynchronous aborts for SATA devices.
Fixes: 909657615d9 ("scsi: libsas: allow async aborts")
Cc: <stable@vger.kernel.org> # 4.12+
Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Yves-Alexis Perez <corsac@debian.org>
---
drivers/scsi/libsas/sas_scsi_host.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index 58476b728c57..c9406852c3e9 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -486,15 +486,28 @@ static int sas_queue_reset(struct domain_device *dev, int reset_type,
int sas_eh_abort_handler(struct scsi_cmnd *cmd)
{
- int res;
+ int res = TMF_RESP_FUNC_FAILED;
struct sas_task *task = TO_SAS_TASK(cmd);
struct Scsi_Host *host = cmd->device->host;
+ struct domain_device *dev = cmd_to_domain_dev(cmd);
struct sas_internal *i = to_sas_internal(host->transportt);
+ unsigned long flags;
if (!i->dft->lldd_abort_task)
return FAILED;
- res = i->dft->lldd_abort_task(task);
+ spin_lock_irqsave(host->host_lock, flags);
+ /* We cannot do async aborts for SATA devices */
+ if (dev_is_sata(dev) && !host->host_eh_scheduled) {
+ spin_unlock_irqrestore(host->host_lock, flags);
+ return FAILED;
+ }
+ spin_unlock_irqrestore(host->host_lock, flags);
+
+ if (task)
+ res = i->dft->lldd_abort_task(task);
+ else
+ SAS_DPRINTK("no task to abort\n");
if (res == TMF_RESP_FUNC_SUCC || res == TMF_RESP_FUNC_COMPLETE)
return SUCCESS;
--
2.11.0

View File

@ -0,0 +1,46 @@
From: Ben Hutchings <ben.hutchings@codethink.co.uk>
Date: Mon, 22 Jan 2018 20:11:06 +0000
Subject: nfsd: auth: Fix gid sorting when rootsquash enabled
Origin: https://git.kernel.org/linus/1995266727fa8143897e89b55f5d3c79aa828420
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2018-1000028
Commit bdcf0a423ea1 ("kernel: make groups_sort calling a responsibility
group_info allocators") appears to break nfsd rootsquash in a pretty
major way.
It adds a call to groups_sort() inside the loop that copies/squashes
gids, which means the valid gids are sorted along with the following
garbage. The net result is that the highest numbered valid gids are
replaced with any lower-valued garbage gids, possibly including 0.
We should sort only once, after filling in all the gids.
Fixes: bdcf0a423ea1 ("kernel: make groups_sort calling a responsibility ...")
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Acked-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
fs/nfsd/auth.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c
index f650e475d8f0..fdf2aad73470 100644
--- a/fs/nfsd/auth.c
+++ b/fs/nfsd/auth.c
@@ -60,10 +60,10 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)
gi->gid[i] = exp->ex_anon_gid;
else
gi->gid[i] = rqgi->gid[i];
-
- /* Each thread allocates its own gi, no race */
- groups_sort(gi);
}
+
+ /* Each thread allocates its own gi, no race */
+ groups_sort(gi);
} else {
gi = get_group_info(rqgi);
}
--
2.11.0

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:50 +0100
Subject: [PATCH 01/29] timers: Use static keys for migrate_enable/nohz_active
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The members migrate_enable and nohz_active in the timer/hrtimer per CPU
bases have been introduced to avoid accessing global variables for these
@ -19,11 +19,11 @@ Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
include/linux/hrtimer.h | 4 --
kernel/time/hrtimer.c | 17 ++------
kernel/time/tick-internal.h | 19 ++++++---
kernel/time/hrtimer.c | 17 ++-------
kernel/time/tick-internal.h | 19 ++++++----
kernel/time/tick-sched.c | 2 -
kernel/time/timer.c | 85 ++++++++++++++++++++++----------------------
5 files changed, 62 insertions(+), 65 deletions(-)
kernel/time/timer.c | 83 ++++++++++++++++++++++----------------------
5 files changed, 61 insertions(+), 64 deletions(-)
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@ -115,7 +115,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases);
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -1103,7 +1103,7 @@ static inline void tick_nohz_activate(st
@@ -1131,7 +1131,7 @@ static inline void tick_nohz_activate(st
ts->nohz_mode = mode;
/* One update is enough */
if (!test_and_set_bit(0, &tick_nohz_active))
@ -271,12 +271,3 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/*
@@ -1656,7 +1659,7 @@ void run_local_timers(void)
hrtimer_run_queues();
/* Raise the softirq only if required. */
if (time_before(jiffies, base->clk)) {
- if (!IS_ENABLED(CONFIG_NO_HZ_COMMON) || !base->nohz_active)
+ if (!is_timers_nohz_active())
return;
/* CPU is awake, so check the deferrable base. */
base++;

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:23 -0600
Subject: [PATCH 01/37] tracing: Move hist trigger Documentation to
histogram.txt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The hist trigger Documentation takes up a large part of events.txt -
since it will be getting even larger, move it to a separate file.

View File

@ -2,7 +2,7 @@ From: Steven Rostedt <rostedt@goodmis.org>
Date: Fri, 22 Sep 2017 14:58:15 -0500
Subject: [PATCH 01/42] tracing: Steve's unofficial trace_recursive_lock()
patch
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
On Tue, 5 Sep 2017 16:57:52 -0500
Tom Zanussi <tom.zanussi@linux.intel.com> wrote:
@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2538,61 +2538,29 @@ rb_wakeups(struct ring_buffer *buffer, s
@@ -2542,61 +2542,29 @@ rb_wakeups(struct ring_buffer *buffer, s
* The lock and unlock are done within a preempt disable section.
* The current_context per_cpu variable can only be modified
* by the current task between lock and unlock. But it can
@ -115,7 +115,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return 0;
}
@@ -2600,7 +2568,9 @@ trace_recursive_lock(struct ring_buffer_
@@ -2604,7 +2572,9 @@ trace_recursive_lock(struct ring_buffer_
static __always_inline void
trace_recursive_unlock(struct ring_buffer_per_cpu *cpu_buffer)
{

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:51 +0100
Subject: [PATCH 02/29] hrtimer: Correct blantanly wrong comment
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The protection of a hrtimer which runs its callback against migration to a
different CPU has nothing to do with hard interrupt context.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:24 -0600
Subject: [PATCH 02/37] tracing: Add Documentation for log2 modifier
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add a line for the log2 modifier, to keep it aligned with
tracing/README.

View File

@ -2,7 +2,7 @@ From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Fri, 22 Sep 2017 14:58:16 -0500
Subject: [PATCH 02/42] tracing: Reverse the order of trace_types_lock and
event_mutex
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
In order to make future changes where we need to call
tracing_set_clock() from within an event command, the order of
@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -7687,6 +7687,7 @@ static int instance_mkdir(const char *na
@@ -7671,6 +7671,7 @@ static int instance_mkdir(const char *na
struct trace_array *tr;
int ret;
@ -28,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
mutex_lock(&trace_types_lock);
ret = -EEXIST;
@@ -7742,6 +7743,7 @@ static int instance_mkdir(const char *na
@@ -7726,6 +7727,7 @@ static int instance_mkdir(const char *na
list_add(&tr->list, &ftrace_trace_arrays);
mutex_unlock(&trace_types_lock);
@ -36,7 +36,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return 0;
@@ -7753,6 +7755,7 @@ static int instance_mkdir(const char *na
@@ -7737,6 +7739,7 @@ static int instance_mkdir(const char *na
out_unlock:
mutex_unlock(&trace_types_lock);
@ -44,7 +44,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return ret;
@@ -7765,6 +7768,7 @@ static int instance_rmdir(const char *na
@@ -7749,6 +7752,7 @@ static int instance_rmdir(const char *na
int ret;
int i;
@ -52,7 +52,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
mutex_lock(&trace_types_lock);
ret = -ENODEV;
@@ -7810,6 +7814,7 @@ static int instance_rmdir(const char *na
@@ -7794,6 +7798,7 @@ static int instance_rmdir(const char *na
out_unlock:
mutex_unlock(&trace_types_lock);
@ -82,7 +82,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (!system)
return -ENODEV;
@@ -2294,15 +2294,15 @@ static void __add_event_to_tracers(struc
@@ -2308,15 +2308,15 @@ static void __add_event_to_tracers(struc
int trace_add_event_call(struct trace_event_call *call)
{
int ret;
@ -100,7 +100,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return ret;
}
@@ -2356,13 +2356,13 @@ int trace_remove_event_call(struct trace
@@ -2370,13 +2370,13 @@ int trace_remove_event_call(struct trace
{
int ret;
@ -116,7 +116,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return ret;
}
@@ -2424,8 +2424,8 @@ static int trace_module_notify(struct no
@@ -2438,8 +2438,8 @@ static int trace_module_notify(struct no
{
struct module *mod = data;
@ -126,7 +126,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
switch (val) {
case MODULE_STATE_COMING:
trace_module_add_events(mod);
@@ -2434,8 +2434,8 @@ static int trace_module_notify(struct no
@@ -2448,8 +2448,8 @@ static int trace_module_notify(struct no
trace_module_remove_events(mod);
break;
}
@ -136,7 +136,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return 0;
}
@@ -2950,24 +2950,24 @@ create_event_toplevel_files(struct dentr
@@ -2964,24 +2964,24 @@ create_event_toplevel_files(struct dentr
* creates the event hierachry in the @parent/events directory.
*
* Returns 0 on success.
@ -166,7 +166,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return ret;
}
@@ -2996,9 +2996,10 @@ early_event_add_tracer(struct dentry *pa
@@ -3010,9 +3010,10 @@ early_event_add_tracer(struct dentry *pa
return ret;
}
@ -178,7 +178,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Disable any event triggers and associated soft-disabled events */
clear_event_triggers(tr);
@@ -3019,8 +3020,6 @@ int event_trace_del_tracer(struct trace_
@@ -3033,8 +3034,6 @@ int event_trace_del_tracer(struct trace_
tr->event_dir = NULL;

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:52 +0100
Subject: [PATCH 03/29] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The sequence '/**' marks the start of a struct description. Add the
missing second asterisk. While at it adapt the ordering of the struct

View File

@ -1,7 +1,7 @@
From: Vedang Patel <vedang.patel@intel.com>
Date: Thu, 21 Dec 2017 10:02:25 -0600
Subject: [PATCH 03/37] tracing: Add support to detect and avoid duplicates
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
A duplicate in the tracing_map hash table is when 2 different entries
have the same key and, as a result, the key_hash. This is possible due

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:53 +0100
Subject: [PATCH 04/29] hrtimer: Cleanup clock argument in
schedule_hrtimeout_range_clock()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
schedule_hrtimeout_range_clock() uses an integer for the clock id
instead of the predefined type "clockid_t". The ID of the clock is

View File

@ -1,7 +1,7 @@
From: Vedang Patel <vedang.patel@intel.com>
Date: Thu, 21 Dec 2017 10:02:26 -0600
Subject: [PATCH 04/37] tracing: Remove code which merges duplicates
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
We now have the logic to detect and remove duplicates in the
tracing_map hash table. The code which merges duplicates in the

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:18 -0500
Subject: [PATCH 04/42] tracing: Remove lookups from tracing_map hitcount
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Lookups inflate the hitcount, making it essentially useless. Only
inserts and updates should really affect the hitcount anyway, so

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:54 +0100
Subject: [PATCH 05/29] hrtimer: Fix hrtimer function description
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The hrtimer_start[_range_ns]() starts a timer reliable on this CPU only
when HRTIMER_MODE_PINNED is set. Furthermore the HRTIMER_MODE_PINNED mode

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:27 -0600
Subject: [PATCH 05/37] ring-buffer: Add interface for setting absolute time
stamps
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Define a new function, tracing_set_time_stamp_abs(), which can be used
to enable or disable the use of absolute timestamps rather than time
@ -34,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -485,6 +485,7 @@ struct ring_buffer {
@@ -489,6 +489,7 @@ struct ring_buffer {
u64 (*clock)(void);
struct rb_irq_work irq_work;
@ -42,7 +42,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
};
struct ring_buffer_iter {
@@ -1379,6 +1380,16 @@ void ring_buffer_set_clock(struct ring_b
@@ -1383,6 +1384,16 @@ void ring_buffer_set_clock(struct ring_b
buffer->clock = clock;
}

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:19 -0500
Subject: [PATCH 05/42] tracing: Increase tracing map KEYS_MAX size
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The current default for the number of subkeys in a compound key is 2,
which is too restrictive. Increase it to a more realistic value of 3.

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:55 +0100
Subject: [PATCH 06/29] hrtimer: Ensure POSIX compliance (relative
CLOCK_REALTIME hrtimers)
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
POSIX specification defines, that relative CLOCK_REALTIME timers are not
affected by clock modifications. Those timers have to use CLOCK_MONOTONIC

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:28 -0600
Subject: [PATCH 06/37] ring-buffer: Redefine the unimplemented
RINGBUF_TYPE_TIME_STAMP
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
RINGBUF_TYPE_TIME_STAMP is defined but not used, and from what I can
gather was reserved for something like an absolute timestamp feature
@ -144,7 +144,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* Flag when events were overwritten */
#define RB_MISSED_EVENTS (1 << 31)
/* Missed count stored at end */
@@ -2221,12 +2247,15 @@ rb_move_tail(struct ring_buffer_per_cpu
@@ -2225,12 +2251,15 @@ rb_move_tail(struct ring_buffer_per_cpu
/* Slow path, do not inline */
static noinline struct ring_buffer_event *
@ -164,7 +164,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
event->time_delta = delta & TS_MASK;
event->array[0] = delta >> TS_SHIFT;
} else {
@@ -2269,7 +2298,9 @@ rb_update_event(struct ring_buffer_per_c
@@ -2273,7 +2302,9 @@ rb_update_event(struct ring_buffer_per_c
* add it to the start of the resevered space.
*/
if (unlikely(info->add_timestamp)) {
@ -175,7 +175,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
length -= RB_LEN_TIME_EXTEND;
delta = 0;
}
@@ -2457,7 +2488,7 @@ static __always_inline void rb_end_commi
@@ -2461,7 +2492,7 @@ static __always_inline void rb_end_commi
static inline void rb_event_discard(struct ring_buffer_event *event)
{
@ -184,7 +184,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
event = skip_time_extend(event);
/* array[0] holds the actual length for the discarded event */
@@ -2501,10 +2532,11 @@ rb_update_write_stamp(struct ring_buffer
@@ -2505,10 +2536,11 @@ rb_update_write_stamp(struct ring_buffer
cpu_buffer->write_stamp =
cpu_buffer->commit_page->page->time_stamp;
else if (event->type_len == RINGBUF_TYPE_TIME_EXTEND) {
@ -199,7 +199,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
} else
cpu_buffer->write_stamp += event->time_delta;
}
@@ -2657,7 +2689,7 @@ static struct ring_buffer_event *
@@ -2661,7 +2693,7 @@ static struct ring_buffer_event *
* If this is the first commit on the page, then it has the same
* timestamp as the page itself.
*/
@ -208,7 +208,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
info->delta = 0;
/* See if we shot pass the end of this buffer page */
@@ -2735,8 +2767,11 @@ rb_reserve_next_event(struct ring_buffer
@@ -2739,8 +2771,11 @@ rb_reserve_next_event(struct ring_buffer
/* make sure this diff is calculated here */
barrier();
@ -222,7 +222,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
info.delta = diff;
if (unlikely(test_time_stamp(info.delta)))
rb_handle_timestamp(cpu_buffer, &info);
@@ -3418,14 +3453,13 @@ rb_update_read_stamp(struct ring_buffer_
@@ -3422,14 +3457,13 @@ rb_update_read_stamp(struct ring_buffer_
return;
case RINGBUF_TYPE_TIME_EXTEND:
@ -240,7 +240,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return;
case RINGBUF_TYPE_DATA:
@@ -3449,14 +3483,13 @@ rb_update_iter_read_stamp(struct ring_bu
@@ -3453,14 +3487,13 @@ rb_update_iter_read_stamp(struct ring_bu
return;
case RINGBUF_TYPE_TIME_EXTEND:
@ -258,7 +258,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return;
case RINGBUF_TYPE_DATA:
@@ -3680,6 +3713,8 @@ rb_buffer_peek(struct ring_buffer_per_cp
@@ -3684,6 +3717,8 @@ rb_buffer_peek(struct ring_buffer_per_cp
struct buffer_page *reader;
int nr_loops = 0;
@ -267,7 +267,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
again:
/*
* We repeat when a time extend is encountered.
@@ -3716,12 +3751,17 @@ rb_buffer_peek(struct ring_buffer_per_cp
@@ -3720,12 +3755,17 @@ rb_buffer_peek(struct ring_buffer_per_cp
goto again;
case RINGBUF_TYPE_TIME_STAMP:
@ -287,7 +287,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
*ts = cpu_buffer->read_stamp + event->time_delta;
ring_buffer_normalize_time_stamp(cpu_buffer->buffer,
cpu_buffer->cpu, ts);
@@ -3746,6 +3786,9 @@ rb_iter_peek(struct ring_buffer_iter *it
@@ -3750,6 +3790,9 @@ rb_iter_peek(struct ring_buffer_iter *it
struct ring_buffer_event *event;
int nr_loops = 0;
@ -297,7 +297,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
cpu_buffer = iter->cpu_buffer;
buffer = cpu_buffer->buffer;
@@ -3798,12 +3841,17 @@ rb_iter_peek(struct ring_buffer_iter *it
@@ -3802,12 +3845,17 @@ rb_iter_peek(struct ring_buffer_iter *it
goto again;
case RINGBUF_TYPE_TIME_STAMP:

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:20 -0500
Subject: [PATCH 06/42] tracing: Make traceprobe parsing code reusable
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
traceprobe_probes_write() and traceprobe_command() actually contain
nothing that ties them to kprobes - the code is generically useful for
@ -25,7 +25,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -8281,6 +8281,92 @@ void ftrace_dump(enum ftrace_dump_mode o
@@ -8265,6 +8265,92 @@ void ftrace_dump(enum ftrace_dump_mode o
}
EXPORT_SYMBOL_GPL(ftrace_dump);

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:56 +0100
Subject: [PATCH 07/29] hrtimer: Cleanup hrtimer_mode enum
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
It's not obvious that the HRTIMER_MODE variants are bit combinations
because all modes are hard coded constants.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:29 -0600
Subject: [PATCH 07/37] tracing: Add timestamp_mode trace file
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add a new option flag indicating whether or not the ring buffer is in
'absolute timestamp' mode.
@ -122,7 +122,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#ifdef CONFIG_TRACER_SNAPSHOT
static const struct file_operations snapshot_fops = {
.open = tracing_snapshot_open,
@@ -7892,6 +7936,9 @@ init_tracer_tracefs(struct trace_array *
@@ -7887,6 +7931,9 @@ init_tracer_tracefs(struct trace_array *
trace_create_file("tracing_on", 0644, d_tracer,
tr, &rb_simple_fops);

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:21 -0500
Subject: [PATCH 07/42] tracing: Clean up hist_field_flags enum
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
As we add more flags, specifying explicit integers for the flag values
becomes more unwieldy and error-prone - switch them over to left-shift

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:22 -0500
Subject: [PATCH 08/42] tracing: Add hist_field_name() accessor
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
In preparation for hist_fields that won't be strictly based on
trace_event_fields, add a new hist_field_name() accessor to allow that

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:30 -0600
Subject: [PATCH 08/37] tracing: Give event triggers access to
ring_buffer_event
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The ring_buffer event can provide a timestamp that may be useful to
various triggers - pass it into the handlers for that purpose.

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:57 +0100
Subject: [PATCH 08/29] tracing/hrtimer: Take all clock bases and modes into
account
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
So far only CLOCK_MONOTONIC and CLOCK_REALTIME were taken into account as
well as HRTIMER_MODE_ABS/REL in hrtimer_init tracepoint. The query for

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:31 -0600
Subject: [PATCH 09/37] tracing: Add ring buffer event param to hist field
functions
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Some events such as timestamps require access to a ring_buffer_event
struct; add a param so that hist field functions can access that.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Fri, 22 Sep 2017 14:58:23 -0500
Subject: [PATCH 09/42] tracing: Reimplement log2
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
log2 as currently implemented applies only to u64 trace_event_field
derived fields, and assumes that anything it's applied to is a u64

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:58 +0100
Subject: [PATCH 09/29] tracing/hrtimer: Print hrtimer mode in hrtimer_start
tracepoint
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The hrtimer_start tracepoint lacks the mode information. The mode is
important because consecutive starts can switch from ABS to REL or from

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:12:59 +0100
Subject: [PATCH 10/29] hrtimer: Switch for loop to _ffs() evaluation
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Looping over all clock bases to find active bits is suboptimal if not all
bases are active.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:32 -0600
Subject: [PATCH 10/37] tracing: Break out hist trigger assignment parsing
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
This will make it easier to add variables, and makes the parsing code
cleaner regardless.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:00 +0100
Subject: [PATCH 11/29] hrtimer: Store running timer in hrtimer_clock_base
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The pointer to the currently running timer is stored in hrtimer_cpu_base
before the base lock is dropped and the callback is invoked.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:33 -0600
Subject: [PATCH 11/37] tracing: Add hist trigger timestamp support
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add support for a timestamp event field. This is actually a 'pseudo-'
event field in that it behaves like it's part of the event record, but

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:01 +0100
Subject: [PATCH 12/29] hrtimer: Make room in struct hrtimer_cpu_base
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The upcoming softirq based hrtimers support requires an additional field in
the hrtimer_cpu_base struct, which would grow the struct size beyond a

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:34 -0600
Subject: [PATCH 12/37] tracing: Add per-element variable support to
tracing_map
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
In order to allow information to be passed between trace events, add
support for per-element variables to tracing_map. This provides a

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:02 +0100
Subject: [PATCH 13/29] hrtimer: Reduce conditional code (hres_active)
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The hrtimer_cpu_base struct has the CONFIG_HIGH_RES_TIMERS conditional
struct member hres_active. All related functions to this member are

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:35 -0600
Subject: [PATCH 13/37] tracing: Add hist_data member to hist_field
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Allow hist_data access via hist_field. Some users of hist_fields
require or will require more access to the associated hist_data.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:03 +0100
Subject: [PATCH 14/29] hrtimer: Use accesor functions instead of direct access
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
__hrtimer_hres_active() is now available unconditionally. Replace the
direct access to hrtimer_cpu_base.hres_active.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:36 -0600
Subject: [PATCH 14/37] tracing: Add usecs modifier for hist trigger timestamps
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Appending .usecs onto a common_timestamp field will cause the
timestamp value to be in microseconds instead of the default

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:04 +0100
Subject: [PATCH 15/29] hrtimer: Make the remote enqueue check unconditional
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_cpu_base.expires_next is used to cache the next event armed in the
timer hardware. The value is used to check whether an hrtimer can be

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:37 -0600
Subject: [PATCH 15/37] tracing: Add variable support to hist triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add support for saving the value of a current event's event field by
assigning it to a variable that can be read by a subsequent event.

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:05 +0100
Subject: [PATCH 16/29] hrtimer: Make hrtimer_cpu_base.next_timer handling
unconditional
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_cpu_base.next_timer stores the pointer to the next expiring timer
in a cpu base.

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:38 -0600
Subject: [PATCH 16/37] tracing: Account for variables in named trigger
compatibility
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Named triggers must also have the same set of variables in order to be
considered compatible - update the trigger match test to account for

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:06 +0100
Subject: [PATCH 17/29] hrtimer: Make hrtimer_reprogramm() unconditional
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_reprogram() needs to be available unconditionally for softirq based
hrtimers. Move the function and all required struct members out of the

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:39 -0600
Subject: [PATCH 17/37] tracing: Move get_hist_field_flags()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Move get_hist_field_flags() to make it more easily accessible for new
code (and keep the move separate from new functionality).

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:07 +0100
Subject: [PATCH 18/29] hrtimer: Make hrtimer_force_reprogramm()
unconditionally available
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_force_reprogram() needs to be available unconditionally for softirq
based hrtimers. Move the function and all required struct members out of

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:40 -0600
Subject: [PATCH 18/37] tracing: Add simple expression support to hist triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add support for simple addition, subtraction, and unary expressions
(-(expr) and expr, where expr = b-a, a+b, a+b+c) to hist triggers, in

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:08 +0100
Subject: [PATCH 19/29] hrtimer: Unify handling of hrtimer remove
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
When the first hrtimer on the current CPU is removed,
hrtimer_force_reprogram() is invoked but only when

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:41 -0600
Subject: [PATCH 19/37] tracing: Generalize per-element hist trigger data
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Up until now, hist triggers only needed per-element support for saving
'comm' data, which was saved directly as a private data pointer.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:09 +0100
Subject: [PATCH 20/29] hrtimer: Unify handling of remote enqueue
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_reprogram() is conditionally invoked from hrtimer_start_range_ns()
when hrtimer_cpu_base.hres_active is true.

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:42 -0600
Subject: [PATCH 20/37] tracing: Pass tracing_map_elt to hist_field accessor
functions
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Some accessor functions, such as for variable references, require
access to a corrsponding tracing_map_elt.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:10 +0100
Subject: [PATCH 21/29] hrtimer: Make remote enqueue decision less restrictive
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The current decision whether a timer can be queued on a remote CPU checks
for timer->expiry <= remote_cpu_base.expires_next.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:43 -0600
Subject: [PATCH 21/37] tracing: Add hist_field 'type' field
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Future support for synthetic events requires hist_field 'type'
information, so add a field for that.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:11 +0100
Subject: [PATCH 22/29] hrtimer: Remove base argument from hrtimer_reprogram()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer_reprogram() must have access to the hrtimer_clock_base of the new
first expiring timer to access hrtimer_clock_base.offset for adjusting the

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:44 -0600
Subject: [PATCH 22/37] tracing: Add variable reference handling to hist
triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add the necessary infrastructure to allow the variables defined on one
event to be referenced in another. This allows variables set by a
@ -33,7 +33,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -7793,6 +7793,7 @@ static int instance_mkdir(const char *na
@@ -7788,6 +7788,7 @@ static int instance_mkdir(const char *na
INIT_LIST_HEAD(&tr->systems);
INIT_LIST_HEAD(&tr->events);
@ -41,7 +41,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (allocate_trace_buffers(tr, trace_buf_size) < 0)
goto out_free_tr;
@@ -8543,6 +8544,7 @@ ssize_t trace_parse_run_command(struct f
@@ -8538,6 +8539,7 @@ ssize_t trace_parse_run_command(struct f
INIT_LIST_HEAD(&global_trace.systems);
INIT_LIST_HEAD(&global_trace.events);

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:12 +0100
Subject: [PATCH 23/29] hrtimer: Split hrtimer_start_range_ns()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Preparatory patch for softirq based hrtimers to avoid code duplication. No
functional change.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:45 -0600
Subject: [PATCH 23/37] tracing: Add hist trigger action hook
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add a hook for executing extra actions whenever a histogram entry is
added or updated.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:13 +0100
Subject: [PATCH 24/29] hrtimer: Split __hrtimer_get_next_event()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Preparatory patch for softirq based hrtimers to avoid code duplication. No
functional change.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:46 -0600
Subject: [PATCH 24/37] tracing: Add support for 'synthetic' events
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Synthetic events are user-defined events generated from hist trigger
variables saved from one or more other events.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:14 +0100
Subject: [PATCH 25/29] hrtimer: Use irqsave/irqrestore around __run_hrtimer()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
__run_hrtimer() is called with the hrtimer_cpu_base.lock held and
interrupts disabled. Before invoking the timer callback the base lock is

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:47 -0600
Subject: [PATCH 25/37] tracing: Add support for 'field variables'
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Users should be able to directly specify event fields in hist trigger
'actions' rather than being forced to explicitly create a variable for

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:15 +0100
Subject: [PATCH 26/29] hrtimer: Add clock bases and hrtimer mode for soft irq
context
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer callback functions are always executed in hard interrupt
context. Users of hrtimer which need their timer function to be executed

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:48 -0600
Subject: [PATCH 26/37] tracing: Add 'onmatch' hist trigger action support
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add an 'onmatch(matching.event).<synthetic_event_name>(param list)'
hist trigger action which is invoked with the set of variables or

View File

@ -2,7 +2,7 @@ From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:16 +0100
Subject: [PATCH 27/29] hrtimer: Prepare handling of hard and softirq based
hrtimers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The softirq based hrtimer can utilize most of the existing hrtimers
functions, but need to operate on a different data set.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:49 -0600
Subject: [PATCH 27/37] tracing: Add 'onmax' hist trigger action support
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add an 'onmax(var).save(field,...)' hist trigger action which is
invoked whenever an event exceeds the current maximum.

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:17 +0100
Subject: [PATCH 28/29] hrtimer: Implement support for softirq based hrtimers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
hrtimer callbacks are always invoked in hard interrupt context. Several
users in tree require soft interrupt context for their callbacks and

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:50 -0600
Subject: [PATCH 28/37] tracing: Allow whitespace to surround hist trigger
filter
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The existing code only allows for one space before and after the 'if'
specifying the filter for a hist trigger. Add code to make that more

View File

@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Wed, 20 Dec 2017 17:13:18 +0100
Subject: [PATCH 29/29] hrtimer: Implement SOFT/HARD clock base selection
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
All prerequisites to handle hrtimers for expiry in either hard or soft
interrupt context are in place.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:51 -0600
Subject: [PATCH 29/37] tracing: Add cpu field for hist triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
A common key to use in a histogram is the cpuid - add a new cpu
'synthetic' field named 'cpu' for that purpose.

View File

@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:11 +0100
Subject: [PATCH 30/36] can/bcm: Replace hrtimer_tasklet with softirq based
hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Switch the timer to HRTIMER_MODE_SOFT, which executed the timer
callback in softirq context and remove the hrtimer_tasklet.

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:52 -0600
Subject: [PATCH 30/37] tracing: Add hist trigger support for variable
reference aliases
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add support for alias=$somevar where alias can be used as
onmatch.xxx($alias).

View File

@ -2,7 +2,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:12 +0100
Subject: [PATCH 31/36] mac80211_hwsim: Replace hrtimer tasklet with softirq
hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Switch the timer to HRTIMER_MODE_SOFT, which executed the timer
callback in softirq context and remove the hrtimer_tasklet.

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:53 -0600
Subject: [PATCH 31/37] tracing: Add 'last error' error facility for hist
triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
With the addition of variables and actions, it's become necessary to
provide more detailed error information to users about syntax errors.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:54 -0600
Subject: [PATCH 32/37] tracing: Add inter-event hist trigger Documentation
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Add background and details on inter-event hist triggers, including
hist variables, synthetic events, and actions.

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:13 +0100
Subject: [PATCH 32/36] xfrm: Replace hrtimer tasklet with softirq hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Switch the timer to HRTIMER_MODE_SOFT, which executed the timer
callback in softirq context and remove the hrtimer_tasklet.

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:14 +0100
Subject: [PATCH 33/36] softirq: Remove tasklet_hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
There are no more tasklet_hrtimer users of this interface.
Remove it.

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:55 -0600
Subject: [PATCH 33/37] tracing: Make tracing_set_clock() non-static
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Allow tracing code outside of trace.c to access tracing_set_clock().

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:15 +0100
Subject: [PATCH 34/36] ALSA/dummy: Replace tasklet with softirq hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The tasklet is used to defer the execution of snd_pcm_period_elapsed() to
the softirq context. Using the HRTIMER_MODE_SOFT mode invokes the timer

View File

@ -1,7 +1,7 @@
From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:56 -0600
Subject: [PATCH 34/37] tracing: Add a clock attribute for hist triggers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The default clock if timestamps are used in a histogram is "global".
If timestamps aren't used, the clock is irrelevant.

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:57 -0600
Subject: [PATCH 35/37] tracing: Increase trace_recursive_lock() limit for
synthetic events
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Synthetic event generation needs to happen while the current event is
still in progress, so add 1 to the trace_recursive_lock() recursion
@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2589,16 +2589,16 @@ rb_wakeups(struct ring_buffer *buffer, s
@@ -2593,16 +2593,16 @@ rb_wakeups(struct ring_buffer *buffer, s
* IRQ context
* NMI context
*

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:16 +0100
Subject: [PATCH 35/36] usb/gadget/NCM: Replace tasklet with softirq hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The tx_tasklet tasklet is used in invoke the hrtimer (task_timer) in
softirq context. This can be also achieved without the tasklet but

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 23 Nov 2017 16:39:17 +0100
Subject: [PATCH 36/36] net/mvpp2: Replace tasklet with softirq hrtimer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The tx_done_tasklet tasklet is used in invoke the hrtimer
(mvpp2_hr_timer_cb) in softirq context. This can be also achieved without
@ -30,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
};
struct mvpp2_queue_vector {
@@ -5979,46 +5978,34 @@ static void mvpp2_link_event(struct net_
@@ -5970,46 +5969,34 @@ static void mvpp2_link_event(struct net_
}
}
@ -93,7 +93,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
return HRTIMER_NORESTART;
}
@@ -6507,7 +6494,12 @@ static int mvpp2_tx(struct sk_buff *skb,
@@ -6498,7 +6485,12 @@ static int mvpp2_tx(struct sk_buff *skb,
txq_pcpu->count > 0) {
struct mvpp2_port_pcpu *port_pcpu = this_cpu_ptr(port->pcpu);
@ -107,7 +107,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
return NETDEV_TX_OK;
@@ -6896,7 +6888,6 @@ static int mvpp2_stop(struct net_device
@@ -6887,7 +6879,6 @@ static int mvpp2_stop(struct net_device
hrtimer_cancel(&port_pcpu->tx_done_timer);
port_pcpu->timer_scheduled = false;
@ -115,7 +115,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
}
mvpp2_cleanup_rxqs(port);
@@ -7664,13 +7655,10 @@ static int mvpp2_port_probe(struct platf
@@ -7655,13 +7646,10 @@ static int mvpp2_port_probe(struct platf
port_pcpu = per_cpu_ptr(port->pcpu, cpu);
hrtimer_init(&port_pcpu->tx_done_timer, CLOCK_MONOTONIC,

View File

@ -2,7 +2,7 @@ From: Tom Zanussi <tom.zanussi@linux.intel.com>
Date: Thu, 21 Dec 2017 10:02:58 -0600
Subject: [PATCH 36/37] tracing: Add inter-event blurb to HIST_TRIGGERS config
option
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
So that users know that inter-event tracing is supported as part of
the HIST_TRIGGERS option, include text to that effect in the help

View File

@ -2,7 +2,7 @@ From: Rajvi Jingar <rajvi.jingar@intel.com>
Date: Thu, 21 Dec 2017 10:02:59 -0600
Subject: [PATCH 37/37] selftests: ftrace: Add inter-event hist triggers
testcases
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
This adds inter-event hist triggers testcases which covers following:
- create/remove synthetic event

View File

@ -1,7 +1,7 @@
From: "Yadi.hu" <yadi.hu@windriver.com>
Date: Wed, 10 Dec 2014 10:32:09 +0800
Subject: ARM: enable irq in translation/section permission fault handlers
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Probably happens on all ARM, with
CONFIG_PREEMPT_RT_FULL

View File

@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2017 15:35:57 +0200
Subject: Bluetooth: avoid recursive locking in
hci_send_to_channel()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Mart reported a deadlock in -RT in the call path:
hci_send_monitor_ctrl_event() -> hci_send_to_channel()

View File

@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Mar 2013 19:01:05 +0100
Subject: printk: Drop the logbuf_lock more often
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The lock is hold with irgs off. The latency drops 500us+ on my arm bugs
with a "full" buffer after executing "dmesg" on the shell.

View File

@ -1,7 +1,7 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 11 Feb 2016 11:54:01 -0600
Subject: KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating
the vgic and timer states to prevent the calling task from migrating to

View File

@ -5,7 +5,7 @@ Cc: Anna Schumaker <anna.schumaker@netapp.com>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
tglx@linutronix.de
Subject: NFSv4: replace seqcount_t with a seqlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me
because it maps to preempt_disable() in -RT which I can't have at this

View File

@ -2,7 +2,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2017 14:25:13 +0200
Subject: [PATCH] RCU: we need to skip that warning but only on sleeping
locks
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
This check is okay for upstream. On RT we trigger this while blocking on
sleeping lock. In this case, it is okay to schedule() within a RCU

View File

@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 23 Nov 2017 17:51:51 +0100
Subject: [PATCH] Revert "fs: jbd2: pull your plug when waiting for space"
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
This reverts commit "fs: jbd2: pull your plug when waiting for space".
This was a duct-tape fix which shouldn't be needed since commit

View File

@ -2,7 +2,7 @@ From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Wed, 22 Nov 2017 07:31:19 -0500
Subject: [PATCH] Revert "memcontrol: Prevent scheduling while atomic in cgroup
code"
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
The commit "memcontrol: Prevent scheduling while atomic in cgroup code"
fixed this issue:

View File

@ -1,7 +1,7 @@
From: Steven Rostedt <rostedt@goodmis.org>
Date: Wed, 13 Feb 2013 09:26:05 -0500
Subject: acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
We hit the following bug with 3.6-rt:

View File

@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
Subject: kernel/sched/core: add migrate_disable()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
---
include/linux/preempt.h | 23 ++++++++

View File

@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 11 Oct 2017 17:43:49 +0200
Subject: apparmor: use a locallock instead preempt_disable()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
get_buffers() disables preemption which acts as a lock for the per-CPU
variable. Since we can't disable preemption here on RT, a local_lock is

View File

@ -1,7 +1,7 @@
From: Anders Roxell <anders.roxell@linaro.org>
Date: Thu, 14 May 2015 17:52:17 +0200
Subject: arch/arm64: Add lazy preempt support
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
arm64 is missing support for PREEMPT_RT. The main feature which is
lacking is support for lazy preemption. The arch-specific entry code,

View File

@ -1,7 +1,7 @@
From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Sat, 6 Mar 2010 17:47:10 +0100
Subject: ARM: AT91: PIT: Remove irq handler when clock event is unused
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
Setup and remove the interrupt handler in clock event mode selection.
This avoids calling the (shared) interrupt handler when the device is

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 1 May 2010 18:29:35 +0200
Subject: ARM: at91: tclib: Default to tclib timer for RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.8-rt9.tar.xz
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.15-rt11.tar.xz
RT is not too happy about the shared timer interrupt in AT91
devices. Default to tclib timer for RT.

Some files were not shown because too many files have changed in this diff Show More