From e7481213e41a3f3817d091fe32d2db9bf8ecb201 Mon Sep 17 00:00:00 2001 From: Tiejun Chen Date: Sun, 6 Jan 2019 13:29:54 -0800 Subject: [PATCH] update -rt to 4.14.87-rt49 Signed-off-by: Tiejun Chen --- examples/rt-for-vmware.yml | 2 +- kernel/Makefile | 4 +- ...mutex_futex_unlock-safe-for-irq-off-.patch | 4 +- ...kdep-false-positive-boost_mtx-compla.patch | 4 +- .../0003-brd-remove-unused-brd_mutex.patch | 4 +- ...-Remove-redundant-preemptible-checks.patch | 6 +-- ...se-raw-locks-on-atomic-context-paths.patch | 4 +- ...use-dev_data-in-irte_ga_set_affinity.patch | 4 +- ...locking-get_irq_table-from-atomic-co.patch | 4 +- ...-dev_data_list-into-a-lock-less-list.patch | 4 +- ...domain-id-out-of-amd_iommu_devtable_.patch | 4 +- ...irq_lookup_table-out-of-the-amd_iomm.patch | 4 +- ...-the-special-case-from-alloc_irq_tab.patch | 4 +- ...ble-instead-irt-as-variable-name-in-.patch | 4 +- ...-out-setting-the-remap-table-for-a-d.patch | 4 +- ...he-lock-while-allocating-new-irq-rem.patch | 4 +- ...-amd_iommu_devtable_lock-a-spin_lock.patch | 4 +- ...-proper-error-code-in-irq_remapping_.patch | 4 +- ...c-keys-for-migrate_enable-nohz_activ.patch | 4 +- ...imer-Correct-blantanly-wrong-comment.patch | 4 +- ...erneldoc-for-struct-hrtimer_cpu_base.patch | 4 +- ...clock-argument-in-schedule_hrtimeout.patch | 4 +- ...mer-Fix-hrtimer-function-description.patch | 4 +- ...22-hrtimer-Cleanup-hrtimer_mode-enum.patch | 4 +- ...Print-hrtimer-mode-in-hrtimer_start-.patch | 4 +- ...r-Switch-for-loop-to-_ffs-evaluation.patch | 4 +- ...-running-timer-in-hrtimer_clock_base.patch | 4 +- ...Make-room-in-struct-hrtimer_cpu_base.patch | 4 +- ...-Reduce-conditional-code-hres_active.patch | 4 +- ...sor-functions-instead-of-direct-acce.patch | 4 +- ...e-remote-enqueue-check-unconditional.patch | 4 +- ...imer_cpu_base.next_timer-handling-un.patch | 4 +- ...ake-hrtimer_reprogramm-unconditional.patch | 4 +- ...imer_force_reprogramm-unconditionall.patch | 4 +- ...mer-Unify-handling-of-hrtimer-remove.patch | 4 +- ...mer-Unify-handling-of-remote-enqueue.patch | 4 +- ...ote-enqueue-decision-less-restrictiv.patch | 4 +- ...base-argument-from-hrtimer_reprogram.patch | 4 +- ...hrtimer-Split-hrtimer_start_range_ns.patch | 4 +- ...timer-Split-__hrtimer_get_next_event.patch | 4 +- ...save-irqrestore-around-__run_hrtimer.patch | 4 +- ...k-bases-and-hrtimer-mode-for-soft-ir.patch | 4 +- ...handling-of-hard-and-softirq-based-h.patch | 4 +- ...t-support-for-softirq-based-hrtimers.patch | 4 +- ...ement-SOFT-HARD-clock-base-selection.patch | 4 +- ...hrtimer_tasklet-with-softirq-based-h.patch | 4 +- ...eplace-hrtimer-tasklet-with-softirq-.patch | 6 +-- ...hrtimer-tasklet-with-softirq-hrtimer.patch | 4 +- .../0047-softirq-Remove-tasklet_hrtimer.patch | 4 +- ...Replace-tasklet-with-softirq-hrtimer.patch | 4 +- ...Replace-tasklet-with-softirq-hrtimer.patch | 4 +- ...Replace-tasklet-with-softirq-hrtimer.patch | 4 +- ...o-not-disable-enable-clocks-in-a-row.patch | 4 +- ...ar_tasks_mm_cpumask-call-to-__cpu_di.patch | 4 +- ...ndle-non-enqueued-waiters-gracefully.patch | 4 +- ...tree-include-rcu.h-because-we-use-it.patch | 4 +- ...rxrpc-remove-unused-static-variables.patch | 4 +- ...fd-syscon-atmel-smc-include-string.h.patch | 4 +- .../0057-sched-swait-include-wait.h.patch | 4 +- ...-replace-seqcount_t-with-a-seqlock_t.patch | 4 +- ...recursive-locking-in-hci_send_to_cha.patch | 4 +- ...aw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch | 4 +- ...udio-don-t-inclide-rwlock.h-directly.patch | 4 +- ...9pfs-don-t-inclide-rwlock.h-directly.patch | 4 +- ...drm-i915-properly-init-lockdep-class.patch | 4 +- ...ent-return-values-of-timerqueue_add-.patch | 4 +- ...arc64-use-generic-rwsem-spinlocks-rt.patch | 4 +- ...el-SRCU-provide-a-static-initializer.patch | 4 +- ..._lock_assert-irqs_disabled-combo-che.patch | 4 +- ...vide-a-pointer-to-the-valid-CPU-mask.patch | 32 ++++++------- ...ernel-sched-core-add-migrate_disable.patch | 10 ++--- ...the-order-of-trace_types_lock-and-ev.patch | 4 +- ...ite-trace_recursive_-un-lock-to-be-s.patch | 4 +- ...ve-lookups-from-tracing_map-hitcount.patch | 4 +- ...g-Increase-tracing-map-KEYS_MAX-size.patch | 4 +- ...ake-traceprobe-parsing-code-reusable.patch | 4 +- ...acing-Clean-up-hist_field_flags-enum.patch | 4 +- ...tracing-Add-hist_field_name-accessor.patch | 4 +- .../0077-tracing-Reimplement-log2.patch | 4 +- ...t-trigger-Documentation-to-histogram.patch | 4 +- ...-Add-Documentation-for-log2-modifier.patch | 4 +- ...pport-to-detect-and-avoid-duplicates.patch | 4 +- ...-Remove-code-which-merges-duplicates.patch | 4 +- ...interface-for-setting-absolute-time-.patch | 4 +- ...fine-the-unimplemented-RINGBUF_TYPE_.patch | 4 +- ...racing-Add-timestamp_mode-trace-file.patch | 4 +- ...nt-triggers-access-to-ring_buffer_ev.patch | 4 +- ...-buffer-event-param-to-hist-field-fu.patch | 4 +- ...-out-hist-trigger-assignment-parsing.patch | 4 +- ...g-Add-hist-trigger-timestamp-support.patch | 4 +- ...element-variable-support-to-tracing_.patch | 4 +- ...g-Add-hist_data-member-to-hist_field.patch | 4 +- ...s-modifier-for-hist-trigger-timestam.patch | 4 +- ...dd-variable-support-to-hist-triggers.patch | 4 +- ...for-variables-in-named-trigger-compa.patch | 4 +- ...94-tracing-Move-get_hist_field_flags.patch | 4 +- ...le-expression-support-to-hist-trigge.patch | 4 +- ...ralize-per-element-hist-trigger-data.patch | 4 +- ...cing_map_elt-to-hist_field-accessor-.patch | 4 +- ...98-tracing-Add-hist_field-type-field.patch | 4 +- ...able-reference-handling-to-hist-trig.patch | 4 +- ...tracing-Add-hist-trigger-action-hook.patch | 4 +- ...ing-Add-support-for-synthetic-events.patch | 4 +- ...cing-Add-support-for-field-variables.patch | 4 +- ...-onmatch-hist-trigger-action-support.patch | 4 +- ...dd-onmax-hist-trigger-action-support.patch | 4 +- ...itespace-to-surround-hist-trigger-fi.patch | 4 +- ...cing-Add-cpu-field-for-hist-triggers.patch | 4 +- ...-trigger-support-for-variable-refere.patch | 4 +- ...-error-error-facility-for-hist-trigg.patch | 4 +- ...ter-event-hist-trigger-Documentation.patch | 4 +- ...ng-Make-tracing_set_clock-non-static.patch | 4 +- ...-a-clock-attribute-for-hist-triggers.patch | 4 +- ...g-back-context-level-recursive-check.patch | 4 +- ...duplicate-results-in-mapping-context.patch | 4 +- ...nesting-for-adding-events-within-eve.patch | 4 +- ...ring-buffer-nesting-to-allow-synthet.patch | 4 +- ...r-event-blurb-to-HIST_TRIGGERS-confi.patch | 4 +- ...-Add-inter-event-hist-triggers-testc.patch | 4 +- ...lay-of-hist-trigger-expressions-cont.patch | 4 +- ...d-flag-strings-when-displaying-varia.patch | 4 +- ...on-comparisons-when-testing-matching.patch | 4 +- ...e-variable-string-fields-are-NULL-te.patch | 4 +- ...k-Shorten-interrupt-disabled-regions.patch | 16 +++---- ...23-timekeeping-Split-jiffies-seqlock.patch | 4 +- ...-for-preempt-off-in-preempt_schedule.patch | 6 +-- ...5-signal-Revert-ptrace-preempt-magic.patch | 6 +-- ...126-arm-Convert-arm-boot_lock-to-raw.patch | 4 +- ...probe-replace-patch_lock-to-raw-lock.patch | 4 +- ...six-timers-Prevent-broadcast-signals.patch | 4 +- ...t-tasks-to-cache-one-sigqueue-struct.patch | 10 ++--- ...andom-Reduce-preempt-disabled-region.patch | 4 +- ...ove-irq-handler-when-clock-event-is-.patch | 4 +- ...ers-timer-atmel-pit-fix-double-free_.patch | 4 +- ...B-Allow-higher-clock-rates-for-clock.patch | 4 +- ...4-suspend-Prevent-might-sleep-splats.patch | 4 +- .../0135-net-flip-lock-dep-thingy.patch.patch | 6 +-- ...et-sched-Use-msleep-instead-of-yield.patch | 4 +- ...37-net-core-disable-NET_RX_BUSY_POLL.patch | 4 +- ...t-unmask-io_apic-when-interrupt-is-i.patch | 4 +- ...139-rcu-segcblist-include-rcupdate.h.patch | 4 +- ...0140-printk-Add-a-printk-kill-switch.patch | 8 ++-- ..._early_printk-boot-param-to-help-wit.patch | 4 +- ...rovide-PREEMPT_RT_BASE-config-switch.patch | 4 +- ...config-options-which-are-not-RT-comp.patch | 6 +-- .../0144-kconfig-Add-PREEMPT_RT_FULL.patch | 4 +- ...-WARN_ON-variants-dependend-on-RT-RT.patch | 4 +- ...-Use-WARN_ON_NORT-in-__attach_device.patch | 4 +- ...cal_irq_-variants-depending-on-RT-RT.patch | 4 +- ...pt-Provide-preempt_-_-no-rt-variants.patch | 4 +- ...-migrate_disable-enable-in-different.patch | 4 +- .../0150-rt-Add-local-irq-locks.patch | 4 +- ...le-interrupts-in-ide-code-for-preemp.patch | 4 +- ...ot-disable-interrupts-for-PREEMPT-RT.patch | 4 +- ...nox-IB-driver-patch-use-_nort-primit.patch | 4 +- ...o-not-disable-interrupts-on-PREEMPT_.patch | 4 +- ...ble-interrupts-on-RT-in-kernel-users.patch | 4 +- ...6-usb-Use-_nort-in-giveback-function.patch | 4 +- ...catterlist-Do-not-disable-irqs-on-RT.patch | 4 +- ...-not-protect-workingset_shadow_nodes.patch | 6 +-- ...al-Make-__lock_task_sighand-RT-aware.patch | 6 +-- ...-x86-Delay-calling-signals-in-atomic.patch | 8 ++-- ...ignal-delay-calling-signals-on-32bit.patch | 4 +- .../0162-net-wireless-Use-WARN_ON_NORT.patch | 4 +- ...head-Replace-bh_uptodate_lock-for-rt.patch | 4 +- ...-state-lock-and-journal-head-lock-rt.patch | 4 +- ...st_bl-Make-list-head-locking-RT-safe.patch | 4 +- ...-list_bl-fixup-bogus-lockdep-warning.patch | 4 +- .../0167-genirq-Disable-irqpoll-on-rt.patch | 4 +- ...-genirq-Force-interrupt-thread-on-RT.patch | 6 +-- ...rivers-net-vortex-fix-locking-issues.patch | 4 +- ...page_alloc-rt-friendly-per-cpu-pages.patch | 10 ++--- ...e_alloc-Reduce-lock-sections-further.patch | 6 +-- ...172-mm-swap-Convert-to-percpu-locked.patch | 8 ++-- ...m-perform-lru_add_drain_all-remotely.patch | 4 +- ...t-per-cpu-variables-with-preempt-dis.patch | 6 +-- ...plit-page-table-locks-for-vector-pag.patch | 4 +- ...76-mm-bounce-Use-local_irq_save_nort.patch | 4 +- .../0177-mm-Allow-only-slub-on-RT.patch | 4 +- .../0178-mm-Enable-SLUB-for-RT.patch | 4 +- ...ssible-memory-leak-in-kmem_cache_all.patch | 4 +- ...0180-slub-Enable-irqs-for-__GFP_WAIT.patch | 4 +- .../0181-slub-Disable-SLUB_CPU_PARTIAL.patch | 4 +- ...e-local_lock_on-instead-of-plain-spi.patch | 6 +-- ...n-t-call-schedule_work_on-in-preempt.patch | 4 +- ...place-local_irq_disable-with-local-l.patch | 4 +- ...on-t-disable-IRQs-in-wb_congested_pu.patch | 4 +- ...oc-copy-with-get_cpu_var-and-locking.patch | 4 +- .../0187-radix-tree-use-local-locks.patch | 4 +- ...andom_bytes-for-RT_FULL-in-init_oops.patch | 4 +- ...9-timers-Prepare-for-full-preemption.patch | 6 +-- ...-waking-softirqs-from-the-jiffy-tick.patch | 4 +- ...vent-erroneous-tick-stop-invocations.patch | 4 +- ...192-x86-kvm-Require-const-tsc-for-RT.patch | 6 +-- .../0193-wait.h-include-atomic.h.patch | 4 +- ...mple-Simple-work-queue-implemenation.patch | 4 +- ...95-completion-Use-simple-wait-queues.patch | 10 ++--- .../0196-fs-aio-simple-simple-work.patch | 4 +- ...voke-the-affinity-callback-via-a-wor.patch | 6 +-- ...id-schedule_work-with-interrupts-dis.patch | 4 +- ...ate-hrtimer_init-hrtimer_init_sleepe.patch | 4 +- ...200-hrtimers-Prepare-full-preemption.patch | 4 +- ...s-by-default-into-the-softirq-contex.patch | 10 ++--- ...er-Prevent-live-lock-in-alarm_cancel.patch | 4 +- ...r-proper-timer-while-waiting-for-ala.patch | 4 +- ...s-move-the-rcu-head-out-of-the-union.patch | 4 +- ...-schedule_work-call-to-helper-thread.patch | 4 +- .../0206-timer-fd-Prevent-live-lock.patch | 4 +- ...timers-Thread-posix-cpu-timers-on-rt.patch | 6 +-- ...ched-Move-task_struct-cleanup-to-RCU.patch | 6 +-- ...-number-of-task-migrations-per-batch.patch | 6 +-- .../0210-sched-Move-mmdrop-to-RCU-on-RT.patch | 8 ++-- ...e-stack-kprobe-clean-up-to-__put_tas.patch | 6 +-- ...state-for-tasks-blocked-on-sleeping-.patch | 12 ++--- ...sk-state-corruption-by-spurious-lock.patch | 6 +-- .../0214-sched-Remove-TASK_ALL.patch | 6 +-- ...ount-rcu_preempt_depth-on-RT-in-migh.patch | 8 ++-- ...ftirq-semantics-into-account-in-cond.patch | 10 ++--- ...-proper-LOCK_OFFSET-for-cond_resched.patch | 4 +- .../0218-sched-Disable-TTWU_QUEUE-on-RT.patch | 4 +- ...-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch | 4 +- ...n-success-when-only-changing-the-sav.patch | 6 +-- ...Only-wake-up-idle-workers-if-not-blo.patch | 6 +-- ...ease-the-nr-of-migratory-tasks-when-.patch | 12 ++--- ...nvert-stop_machine_run-to-PREEMPT_RT.patch | 4 +- .../0224-stop_machine-Use-raw-spinlocks.patch | 4 +- ...-hotplug-Lightweight-get-online-cpus.patch | 14 +++--- ...e-disabled-counter-to-tracing-output.patch | 4 +- .../0227-lockdep-Make-it-RT-aware.patch | 6 +-- .../0228-lockdep-disable-self-test.patch | 4 +- ...locking-Disable-spin-on-owner-for-RT.patch | 4 +- ...tasklets-from-going-into-infinite-sp.patch | 4 +- ...eemption-after-reenabling-interrupts.patch | 12 ++--- ...oftirq-Disable-softirq-stacks-for-RT.patch | 4 +- .../0233-softirq-Split-softirq-locks.patch | 8 ++-- ...4-kernel-softirq-unlock-with-irqs-on.patch | 4 +- ...abling-of-softirq-processing-in-irq-.patch | 14 +++--- ...plit-timer-softirqs-out-of-ksoftirqd.patch | 4 +- ...irq-wake-the-timer-softirq-if-needed.patch | 4 +- .../0238-rtmutex-trylock-is-okay-on-RT.patch | 4 +- ...-nfs-turn-rmdir_sem-into-a-semaphore.patch | 4 +- ...he-various-new-futex-race-conditions.patch | 4 +- ...on-when-a-requeued-RT-task-times-out.patch | 4 +- ...mutex-don-t-drop-the-wait_lock-twice.patch | 4 +- ...k-unlock-symetry-versus-pi_lock-and-.patch | 4 +- .../0244-pid.h-include-atomic.h.patch | 4 +- ...arm-include-definition-for-cpumask_t.patch | 4 +- ...ure-Do-NOT-include-rwlock.h-directly.patch | 4 +- ...47-rtmutex-Add-rtmutex_lock_killable.patch | 4 +- ...0248-rtmutex-Make-lock_killable-work.patch | 4 +- ...spinlock-Split-the-lock-types-header.patch | 4 +- .../0250-rtmutex-Avoid-include-hell.patch | 4 +- ...-rbtree-don-t-include-the-rcu-header.patch | 4 +- ...tex-Provide-rt_mutex_slowlock_locked.patch | 4 +- ...ockdep-less-version-of-rt_mutex-s-lo.patch | 4 +- ...tex-add-sleeping-lock-implementation.patch | 8 ++-- ...utex-implementation-based-on-rtmutex.patch | 4 +- ...wsem-implementation-based-on-rtmutex.patch | 4 +- ...lock-implementation-based-on-rtmutex.patch | 4 +- .../0258-rtmutex-wire-up-RT-s-locking.patch | 4 +- ...utex-add-ww_mutex-addon-for-mutex-rt.patch | 4 +- ...-fix-deadlock-in-device-mapper-block.patch | 4 +- ...re-init-the-wait_lock-in-rt_mutex_in.patch | 4 +- ...ace-fix-ptrace-vs-tasklist_lock-race.patch | 10 ++--- ...kip-that-warning-but-only-on-sleepin.patch | 4 +- ...edule-in-RCU-section-warning-on-UP-t.patch | 10 ++--- ...eck-for-__LINUX_SPINLOCK_TYPES_H-on-.patch | 4 +- .../0266-rcu-Frob-softirq-test.patch | 4 +- ...67-rcu-Merge-RCU-bh-into-RCU-preempt.patch | 20 ++++----- ...ke-ksoftirqd-do-RCU-quiescent-states.patch | 6 +-- ...s-Disable-irq-while-calling-rcu_pree.patch | 6 +-- ...erial-omap-Make-the-locking-RT-aware.patch | 4 +- ...al-pl011-Make-the-locking-work-on-RT.patch | 4 +- ...mprove-the-serial-console-PASS_LIMIT.patch | 4 +- ...0-don-t-take-the-trylock-during-oops.patch | 4 +- ...wsem-Remove-preempt_disable-variants.patch | 4 +- .../0275-fs-namespace-preemption-fix.patch | 6 +-- ...ate_mm-by-preempt_-disable-enable-_r.patch | 4 +- ...urn-off-warning-which-is-bogus-on-RT.patch | 6 +-- ...fs-ntfs-disable-interrupt-only-on-RT.patch | 4 +- ...ull-your-plug-when-waiting-for-space.patch | 6 +-- ...ull-your-plug-when-waiting-for-space.patch | 6 +-- ...-back-explicit-INIT_HLIST_BL_HEAD-in.patch | 4 +- ...e-preemption-on-i_dir_seq-s-write-si.patch | 8 ++-- ...283-x86-Convert-mce-timer-to-hrtimer.patch | 4 +- ...-mce-use-swait-queue-for-mce-wakeups.patch | 4 +- ...ackprotector-Avoid-random-pool-on-rt.patch | 4 +- ...86-Use-generic-rwsem_spinlocks-on-rt.patch | 6 +-- .../0287-x86-UV-raw_spinlock-conversion.patch | 4 +- ...rmal-Defer-thermal-wakups-to-threads.patch | 4 +- ...poll-Do-not-disable-preemption-on-RT.patch | 4 +- ...er-preempt-disable-region-which-suck.patch | 4 +- .../0291-block-mq-use-cpu_light.patch | 4 +- ...ock-mq-do-not-invoke-preempt_disable.patch | 4 +- ...k-mq-don-t-complete-requests-via-IPI.patch | 6 +-- ...-Make-raid5_percpu-handling-RT-aware.patch | 4 +- ...5-md-raid5-do-not-disable-interrupts.patch | 4 +- .../0296-rt-Introduce-cpu_chill.patch | 4 +- ...-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch | 4 +- ...nel-cpu_chill-use-schedule_hrtimeout.patch | 4 +- ...-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch | 4 +- ...mutex-annotate-sleeping-lock-context.patch | 8 ++-- ...e-blk_queue_usage_counter_release-in.patch | 12 ++--- ...-block-Use-cpu_chill-for-retry-loops.patch | 4 +- ...cache-Use-cpu_chill-in-trylock-loops.patch | 6 +-- ...t-Use-cpu_chill-instead-of-cpu_relax.patch | 6 +-- ...use-swait_queue-instead-of-waitqueue.patch | 10 ++--- .../0306-workqueue-Use-normal-rcu.patch | 4 +- ...cal-irq-lock-instead-of-irq-disable-.patch | 4 +- ...t-workqueue-versus-ata-piix-livelock.patch | 4 +- ...tangle-worker-accounting-from-rqlock.patch | 6 +-- .../0310-percpu_ida-Use-local-locks.patch | 4 +- .../0311-debugobjects-Make-RT-aware.patch | 4 +- ...abel-disable-if-stop_machine-is-used.patch | 4 +- .../0313-seqlock-Prevent-rt-starvation.patch | 4 +- ...vc_xprt_do_enqueue-use-get_cpu_light.patch | 6 +-- ...0315-net-Use-skbufhead-with-raw-lock.patch | 20 ++++----- ...tplug-Drain-input_pkt_queue-lockless.patch | 8 ++-- ...recursion-to-per-task-variable-on-RT.patch | 8 ++-- ...uct-instead-of-CPU-number-as-the-que.patch | 8 ++-- ...y-to-delegate-processing-a-softirq-t.patch | 8 ++-- ...ake-qdisc-s-busylock-in-__dev_xmit_s.patch | 6 +-- ...Qdisc-use-a-seqlock-instead-seqcount.patch | 6 +-- ...-missing-serialization-in-ip_send_un.patch | 4 +- ...he-tcp_sk_lock-lock-with-BH-disabled.patch | 4 +- .../0324-net-add-a-lock-around-icmp_sk.patch | 4 +- .../0325-net-use-trylock-in-icmp_sk.patch | 4 +- ...schedule_irqoff-disable-interrupts-o.patch | 10 ++--- ...-push-most-work-into-softirq-context.patch | 4 +- ...rk-Move-irq-safe-work-to-irq-context.patch | 4 +- ...pcm_stream_lock-irqs_disabled-splats.patch | 4 +- .../0330-printk-Make-rt-aware.patch | 20 +++++---- ...n-t-try-to-print-from-IRQ-NMI-region.patch | 10 ++--- ...intk-Drop-the-logbuf_lock-more-often.patch | 16 +++---- ...0333-powerpc-Use-generic-rwsem-on-RT.patch | 4 +- ...ble-in-kernel-MPIC-emulation-for-PRE.patch | 4 +- ...ce-init.c-adapt-to-completions-using.patch | 4 +- ...-tclib-Default-to-tclib-timer-for-RT.patch | 4 +- .../0337-arm-unwind-use-a-raw_spin_lock.patch | 4 +- ...n-translation-section-permission-fau.patch | 4 +- ...-irq_set_irqchip_state-documentation.patch | 8 ++-- ...wngrade-preempt_disable-d-region-to-.patch | 6 +-- ...0341-arm64-xen-Make-XEN-depend-on-RT.patch | 4 +- ...42-kgdb-serial-Short-term-workaround.patch | 8 ++-- ...-sysfs-Add-sys-kernel-realtime-entry.patch | 4 +- .../0344-powerpc-Disable-highmem-on-RT.patch | 4 +- .../0345-mips-Disable-highmem-on-RT.patch | 8 ++-- .../0346-mm-rt-kmap_atomic-scheduling.patch | 16 +++---- ...mm-rt-Fix-generic-kmap_atomic-for-RT.patch | 4 +- ...highmem-Add-a-already-used-pte-check.patch | 4 +- .../0349-arm-highmem-Flush-tlb-on-unmap.patch | 4 +- .../0350-arm-Enable-highmem-for-rt.patch | 4 +- .../0351-scsi-fcoe-Make-RT-aware.patch | 4 +- ...t-t-disable-interrupts-in-qc_issue-h.patch | 4 +- ...ypto-Reduce-preempt-disabled-regions.patch | 4 +- ...-preempt-disabled-regions-more-algos.patch | 4 +- ...ypto-limit-more-FPU-enabled-sections.patch | 4 +- ...0356-arm-disable-NEON-in-kernel-mode.patch | 4 +- .../0357-dm-Make-rt-aware.patch | 4 +- ...acpi_gbl_hardware-lock-back-to-a-raw.patch | 4 +- ...sable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch | 8 ++-- .../0360-random-Make-it-work-on-rt.patch | 8 ++-- ...dom-avoid-preempt_disable-ed-section.patch | 4 +- ...om-don-t-print-that-the-init-is-done.patch | 4 +- ...63-cpu-hotplug-Implement-CPU-pinning.patch | 20 ++++----- ...duct-tape-RT-rwlock-usage-for-non-RT.patch | 22 ++++----- ...-local_irq_save_nort-in-qla2x00_poll.patch | 4 +- ...ove-preemption-disabling-in-netif_rx.patch | 6 +-- ...r-local_irq_disable-kmalloc-headache.patch | 6 +-- ...-users-of-napi_alloc_cache-against-r.patch | 6 +-- ...rialize-xt_write_recseq-sections-on-.patch | 4 +- ...Add-a-mutex-around-devnet_rename_seq.patch | 6 +-- ...onvert-crypto-notifier-chain-to-SRCU.patch | 4 +- ...-Only-do-hardirq-context-test-for-ra.patch | 4 +- ...-fix-warnings-due-to-missing-PREEMPT.patch | 4 +- ...-use-cpu_online-instead-custom-check.patch | 12 ++--- ...it-call_srcu-use-under-raw-spinlocks.patch | 4 +- ...place-local_irqsave-with-a-locallock.patch | 4 +- ...377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch | 4 +- ...nate-softirq-processing-from-rcutree.patch | 12 ++--- ...379-rcu-make-RCU_BOOST-default-on-RT.patch | 4 +- ..._normal_after_boot-by-default-for-RT.patch | 4 +- ...ched-Add-support-for-lazy-preemption.patch | 28 ++++++------ ...82-ftrace-Fix-trace-header-alignment.patch | 4 +- ...0383-x86-Support-for-lazy-preemption.patch | 40 ++++++++--------- ...-arm-Add-support-for-lazy-preemption.patch | 4 +- ...erpc-Add-support-for-lazy-preemption.patch | 4 +- ...-arch-arm64-Add-lazy-preempt-support.patch | 4 +- ...ds-trigger-disable-CPU-trigger-on-RT.patch | 4 +- ...388-mmci-Remove-bogus-local_irq_save.patch | 4 +- ...rop-K8-s-driver-from-beeing-selected.patch | 4 +- ...c-Protect-send_msg-with-a-local-lock.patch | 4 +- ...am-Replace-bit-spinlocks-with-rtmute.patch | 6 +-- ...-t-disable-preemption-in-zcomp_strea.patch | 6 +-- ...-zcomp_stream_get-smp_processor_id-u.patch | 4 +- ...94-tpm_tis-fix-stall-after-iowrite-s.patch | 4 +- ...ec-Don-t-use-completion-s-wait-queue.patch | 4 +- ...Use-preempt_disable-enable_rt-where-.patch | 4 +- ...al_lock-unlock_irq-in-intel_pipe_upd.patch | 4 +- ...roups-use-simple-wait-in-css_release.patch | 4 +- ...nt-scheduling-while-atomic-in-cgroup.patch | 4 +- ...l-Prevent-scheduling-while-atomic-in.patch | 4 +- ...vert-callback_lock-to-raw_spinlock_t.patch | 4 +- ...-to-schedule_delayed_work-to-helper-.patch | 4 +- ...ve-call-to-schedule_delayed_work-to-.patch | 4 +- .../0404-md-disable-bcache.patch | 4 +- ...-a-locallock-instead-preempt_disable.patch | 4 +- ...rkqueue-Prevent-deadlock-stall-on-RT.patch | 6 +-- ...0407-Add-localversion-for-RT-release.patch | 4 +- ...d-modifier-parsing-hist-error-for-hi.patch | 4 +- ...d-parsing-hist-error-for-hist-trigge.patch | 4 +- ...proper-field-flag-printing-when-disp.patch | 4 +- ...lized-variable-in-create_tracing_map.patch | 4 +- ...ing-Fix-a-potential-NULL-dereference.patch | 4 +- ...FS-bandwidth-control-lockdep-DEADLOC.patch | 10 ++--- ...provide-get-put-_locked_ptr-variants.patch | 4 +- ...e-of-local-lock-in-multi_cpu-decompr.patch | 4 +- ...d-Prevent-might-sleep-splats-updated.patch | 4 +- ...keup-Make-events_lock-a-RAW_SPINLOCK.patch | 4 +- ...le-Make-s2idle_wait_head-swait-based.patch | 4 +- ...the-same-ordering-semantics-as-mainl.patch | 4 +- ...evert-x86-UV-raw_spinlock-conversion.patch | 4 +- ...ay-waking-softirqs-from-the-jiffy-ti.patch | 4 +- ...-its-Make-its_lock-a-raw_spin_lock_t.patch | 4 +- ...sable-fallback-to-preempt_disable-in.patch | 12 ++--- ...ts-Move-ITS-pend_page-allocation-int.patch | 4 +- ...ts-Move-pending-table-allocation-to-.patch | 4 +- ...-let-setaffinity-unmask-threaded-EOI.patch | 4 +- .../0427-efi-Allow-efi-runtime.patch | 4 +- ...8-efi-Disable-runtime-services-on-RT.patch | 4 +- ...d-a-lock-instead-preempt_disable-loc.patch | 4 +- ...-serialize-RT-percpu-scratch-buffer-.patch | 4 +- ...-__schedule-being-called-twice-in-a-.patch | 6 +-- ...vert-arm64-xen-Make-XEN-depend-on-RT.patch | 4 +- ...ed-user-tasks-to-be-awakened-to-the-.patch | 6 +-- ...mbus-include-header-for-get_irq_regs.patch | 9 ++-- ...eep-the-softirq-pending-check-RT-onl.patch | 4 +- ...sable-preemption-calling-console_unl.patch | 45 +++++++++++++++++++ ...h => 0437-Linux-4.14.87-rt49-REBASE.patch} | 8 ++-- 439 files changed, 1186 insertions(+), 1140 deletions(-) create mode 100644 kernel/patches-4.14.x-rt/0436-printk-Do-not-disable-preemption-calling-console_unl.patch rename kernel/patches-4.14.x-rt/{0436-Linux-4.14.78-rt47-REBASE.patch => 0437-Linux-4.14.87-rt49-REBASE.patch} (64%) diff --git a/examples/rt-for-vmware.yml b/examples/rt-for-vmware.yml index 8992a1970..8d1a70a24 100644 --- a/examples/rt-for-vmware.yml +++ b/examples/rt-for-vmware.yml @@ -1,5 +1,5 @@ kernel: - image: linuxkit/kernel:4.14.78-rt + image: linuxkit/kernel:4.14.87-rt cmdline: "console=tty0" init: - linuxkit/init:c563953a2277eb73a89d89f70e4b6dcdcfebc2d1 diff --git a/kernel/Makefile b/kernel/Makefile index 80249648b..ff09f00b1 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -265,14 +265,14 @@ $(eval $(call kernel,4.20,4.20.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.19.13,4.19.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.91,4.14.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.91,4.14.x,,-dbg)) -$(eval $(call kernel,4.14.78,4.14.x,-rt,)) +$(eval $(call kernel,4.14.87,4.14.x,-rt,)) $(eval $(call kernel,4.9.148,4.9.x,$(EXTRA),$(DEBUG))) else ifeq ($(ARCH),aarch64) $(eval $(call kernel,4.20,4.20.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.19.13,4.19.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.91,4.14.x,$(EXTRA),$(DEBUG))) -$(eval $(call kernel,4.14.78,4.14.x,-rt,)) +$(eval $(call kernel,4.14.87,4.14.x,-rt,)) else ifeq ($(ARCH),s390x) $(eval $(call kernel,4.20,4.20.x,$(EXTRA),$(DEBUG))) diff --git a/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch b/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch index 0919032c6..8e4d8c6ab 100644 --- a/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch +++ b/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch @@ -1,7 +1,7 @@ -From 674fdb01b8d7a750309b71a1d0a6a8a622c75a28 Mon Sep 17 00:00:00 2001 +From cf77772195405adc1a0cd2bc304ed810e6420c73 Mon Sep 17 00:00:00 2001 From: Boqun Feng Date: Fri, 9 Mar 2018 14:56:28 +0800 -Subject: [PATCH 001/436] rtmutex: Make rt_mutex_futex_unlock() safe for +Subject: [PATCH 001/437] rtmutex: Make rt_mutex_futex_unlock() safe for irq-off callsites Upstream commit 6b0ef92fee2a3189eba6d6b827b247cb4f6da7e9 diff --git a/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch b/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch index fb6717b64..12e619700 100644 --- a/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch +++ b/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch @@ -1,7 +1,7 @@ -From b771e0a81ae85e59da482ab6ead21f9a0058b481 Mon Sep 17 00:00:00 2001 +From 80b97a7398475268f38b59179b7798da7576593b Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Tue, 19 Sep 2017 15:36:42 -0700 -Subject: [PATCH 002/436] rcu: Suppress lockdep false-positive ->boost_mtx +Subject: [PATCH 002/437] rcu: Suppress lockdep false-positive ->boost_mtx complaints Upstream commit bcda31a2659497df39d6bedfbdf17498b4f4ac89 diff --git a/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch b/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch index ec82cc213..16e0cce6d 100644 --- a/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch +++ b/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch @@ -1,7 +1,7 @@ -From f2047df6a6ed3b88f3bdcc03cf0b87caf5bae087 Mon Sep 17 00:00:00 2001 +From 88e1236f4d0412babbf59bdf44516d4d2326d093 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Fri, 10 Nov 2017 12:29:34 -0500 -Subject: [PATCH 003/436] brd: remove unused brd_mutex +Subject: [PATCH 003/437] brd: remove unused brd_mutex Upstream commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e diff --git a/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch b/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch index 5a85d5772..b468b6d90 100644 --- a/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch +++ b/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch @@ -1,7 +1,7 @@ -From 6312db47a66c5e177d7c05b04b2c18a9df476a4c Mon Sep 17 00:00:00 2001 +From caadf195c1da52ea6db6e657346eeac26afb68f3 Mon Sep 17 00:00:00 2001 From: Christoffer Dall Date: Fri, 8 Sep 2017 07:07:13 -0700 -Subject: [PATCH 004/436] KVM: arm/arm64: Remove redundant preemptible checks +Subject: [PATCH 004/437] KVM: arm/arm64: Remove redundant preemptible checks Upstream commit 5a24575032971c5a9a4580417a791c427ebdb8e5 @@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 2 deletions(-) diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c -index d5f1d8364571..0099cce0e264 100644 +index ed42b8cf6f5b..045aa39b14c1 100644 --- a/virt/kvm/arm/arm.c +++ b/virt/kvm/arm/arm.c @@ -69,7 +69,6 @@ static DEFINE_PER_CPU(unsigned char, kvm_arm_hardware_enabled); diff --git a/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch b/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch index 62e63af87..929c1c0d1 100644 --- a/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch +++ b/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch @@ -1,7 +1,7 @@ -From a978a7042ed34eb0bdbaec0a6d638b33a08da78e Mon Sep 17 00:00:00 2001 +From 0f961ceb5f56e333087f3ff78ba3f897f31a6113 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Sun, 21 Jan 2018 03:28:54 -0600 -Subject: [PATCH 005/436] iommu/amd: Use raw locks on atomic context paths +Subject: [PATCH 005/437] iommu/amd: Use raw locks on atomic context paths Upstream commit 27790398c2aed917828dc3c6f81240d57f1584c9 diff --git a/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch b/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch index a56aa3dc1..61fd92767 100644 --- a/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch +++ b/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch @@ -1,7 +1,7 @@ -From 5ad7803f55f3a755f8b29f051186009c22fa7a42 Mon Sep 17 00:00:00 2001 +From f60d301f66278292bb819375e579980f52d01679 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Sun, 28 Jan 2018 14:22:19 -0600 -Subject: [PATCH 006/436] iommu/amd: Don't use dev_data in +Subject: [PATCH 006/437] iommu/amd: Don't use dev_data in irte_ga_set_affinity() Upstream commit 01ee04badefd296eb7a4430497373be9b7b16783 diff --git a/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch b/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch index a82515662..8eec9fe48 100644 --- a/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch +++ b/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch @@ -1,7 +1,7 @@ -From 5c2b0a1fe103fff0b93456b25362ed5155748bfa Mon Sep 17 00:00:00 2001 +From 75e9886d998becd42de359a6795f19d8aba1eeea Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Wed, 14 Feb 2018 17:36:28 -0600 -Subject: [PATCH 007/436] iommu/amd: Avoid locking get_irq_table() from atomic +Subject: [PATCH 007/437] iommu/amd: Avoid locking get_irq_table() from atomic context Upstream commit df42a04b15f19a842393dc98a84cbc52b1f8ed49 diff --git a/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch b/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch index cb1a60df0..27f458210 100644 --- a/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch +++ b/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch @@ -1,7 +1,7 @@ -From e3ccd1de428bd41b16b13d3b970c0224cb0d780c Mon Sep 17 00:00:00 2001 +From ece88076b665589976cb6fc1e2fc07cc6e7c1ec4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:34 +0100 -Subject: [PATCH 008/436] iommu/amd: Turn dev_data_list into a lock less list +Subject: [PATCH 008/437] iommu/amd: Turn dev_data_list into a lock less list Upstream commit 779da73273fc4c4c6f41579a95e4fb7880a1720e diff --git a/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch b/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch index 8b04f235a..ec01bc3be 100644 --- a/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch +++ b/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch @@ -1,7 +1,7 @@ -From 0f725ee8f8b99166a5d97517c2fe00062ead13c5 Mon Sep 17 00:00:00 2001 +From 5ef7777092fe740f67d1e304019e3bea28eb8fce Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:35 +0100 -Subject: [PATCH 009/436] iommu/amd: Split domain id out of +Subject: [PATCH 009/437] iommu/amd: Split domain id out of amd_iommu_devtable_lock Upstream commit 2bc00180890427dcc092b2f2b0d03c904bcade29 diff --git a/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch b/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch index 3e2226f29..c1c7a318f 100644 --- a/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch +++ b/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch @@ -1,7 +1,7 @@ -From 423d244d388295c10057850f4baa46b22e2b7bf2 Mon Sep 17 00:00:00 2001 +From 5003ff93cc34975cd85c14248483548cd0635dc6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:36 +0100 -Subject: [PATCH 010/436] iommu/amd: Split irq_lookup_table out of the +Subject: [PATCH 010/437] iommu/amd: Split irq_lookup_table out of the amd_iommu_devtable_lock Upstream commit ea6166f4b83e9cfba1c18f46a764d50045682fe5 diff --git a/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch b/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch index 7f8ed8d28..3ed707a7d 100644 --- a/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch +++ b/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch @@ -1,7 +1,7 @@ -From fc4c954dfa38b6185e122f81c5036ffa1c1032fc Mon Sep 17 00:00:00 2001 +From a3bd03fcc63c2806bee9b1b4da5d55a40a7d1c6c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:37 +0100 -Subject: [PATCH 011/436] iommu/amd: Remove the special case from +Subject: [PATCH 011/437] iommu/amd: Remove the special case from alloc_irq_table() Upstream commit fde65dd3d3096e8f6ecc7bbe544eb91f4220772c diff --git a/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch b/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch index 36a5ae440..8f8b3609a 100644 --- a/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch +++ b/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch @@ -1,7 +1,7 @@ -From e3d49e20f5571991178a538391f91b328de2942e Mon Sep 17 00:00:00 2001 +From 340f3a55c46a7bf11cee5431d73ebbd1fa9081c0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:38 +0100 -Subject: [PATCH 012/436] iommu/amd: Use `table' instead `irt' as variable name +Subject: [PATCH 012/437] iommu/amd: Use `table' instead `irt' as variable name in amd_iommu_update_ga() Upstream commit 4fde541c9dc114c5b448ad34b0286fe8b7c550f1 diff --git a/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch b/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch index ebf30fcfe..a62f4a657 100644 --- a/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch +++ b/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch @@ -1,7 +1,7 @@ -From 78529f05c82263add354e44bef0e96fd7e9d7068 Mon Sep 17 00:00:00 2001 +From 78b50efad4c03293a63d9b482f5c33f8186bfc9f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:39 +0100 -Subject: [PATCH 013/436] iommu/amd: Factor out setting the remap table for a +Subject: [PATCH 013/437] iommu/amd: Factor out setting the remap table for a devid Upstream commit 2fcc1e8ac4a8514c64f946178fc36c2e30e56a41 diff --git a/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch b/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch index effc2fe07..bd6bf062b 100644 --- a/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch +++ b/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch @@ -1,7 +1,7 @@ -From 81ee5aec46b081ed1b00a4827b562a248e0ee7af Mon Sep 17 00:00:00 2001 +From 0ef3ebf9be599ebc17441c220f837622a2ddeb79 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:40 +0100 -Subject: [PATCH 014/436] iommu/amd: Drop the lock while allocating new irq +Subject: [PATCH 014/437] iommu/amd: Drop the lock while allocating new irq remap table Upstream commit 993ca6e063a69a0c65ca42ed449b6bc1b3844151 diff --git a/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch b/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch index 898f0db4d..d3bf5c54c 100644 --- a/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch +++ b/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch @@ -1,7 +1,7 @@ -From f89499735c61ddd6fa0fc737120053307d195daa Mon Sep 17 00:00:00 2001 +From 7febe26307d9a7f74f5e1509961b682017caaa31 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:41 +0100 -Subject: [PATCH 015/436] iommu/amd: Make amd_iommu_devtable_lock a spin_lock +Subject: [PATCH 015/437] iommu/amd: Make amd_iommu_devtable_lock a spin_lock Upstream commit 2cd1083d79a0a8c223af430ca97884c28a1e2fc0 diff --git a/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch b/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch index fc66e3131..cc714b2b9 100644 --- a/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch +++ b/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch @@ -1,7 +1,7 @@ -From 3aa125f9690636faf6542e15b37ae4409bde2390 Mon Sep 17 00:00:00 2001 +From 274e123364bc15e0fce26d4bc5f98793e6db18d8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:42 +0100 -Subject: [PATCH 016/436] iommu/amd: Return proper error code in +Subject: [PATCH 016/437] iommu/amd: Return proper error code in irq_remapping_alloc() Upstream commit 29d049be9438278c47253a74cf8d0ddf36bd5d68 diff --git a/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch b/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch index d8ce7541b..dc4a01dd5 100644 --- a/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch +++ b/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch @@ -1,7 +1,7 @@ -From fc8f8ce973783ece4cc7da38056fb4311f58b448 Mon Sep 17 00:00:00 2001 +From 7d3e8471f6d634b971ed483bf0fe0e3f426a799c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 20 Dec 2017 17:12:50 +0100 -Subject: [PATCH 017/436] timers: Use static keys for +Subject: [PATCH 017/437] timers: Use static keys for migrate_enable/nohz_active The members migrate_enable and nohz_active in the timer/hrtimer per CPU diff --git a/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch b/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch index 82edf2fb6..910e695de 100644 --- a/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch +++ b/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch @@ -1,7 +1,7 @@ -From e8ee0982f127ed257ce19b4a4ab94663b5c07c13 Mon Sep 17 00:00:00 2001 +From 0032a44f1d407ce2c142b3493bb6f2bb60158896 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 20 Dec 2017 17:12:51 +0100 -Subject: [PATCH 018/436] hrtimer: Correct blantanly wrong comment +Subject: [PATCH 018/437] hrtimer: Correct blantanly wrong comment The protection of a hrtimer which runs its callback against migration to a different CPU has nothing to do with hard interrupt context. diff --git a/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch b/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch index 09a11e318..12a7b77f8 100644 --- a/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch +++ b/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch @@ -1,7 +1,7 @@ -From bf8d687dc598107653ab39d2aad51f83b15a2985 Mon Sep 17 00:00:00 2001 +From 514d5cebbbc72530f555551b1edbf7908bb3bf2d Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:52 +0100 -Subject: [PATCH 019/436] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base +Subject: [PATCH 019/437] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base The sequence '/**' marks the start of a struct description. Add the missing second asterisk. While at it adapt the ordering of the struct diff --git a/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch b/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch index 12a22f20c..fefe195dc 100644 --- a/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch +++ b/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch @@ -1,7 +1,7 @@ -From 3f45b3cc684df54e7296b275ab4d3ab90172f705 Mon Sep 17 00:00:00 2001 +From 88f3615b960b07d71c6fb2c6a14075be7e9099b4 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:53 +0100 -Subject: [PATCH 020/436] hrtimer: Cleanup clock argument in +Subject: [PATCH 020/437] hrtimer: Cleanup clock argument in schedule_hrtimeout_range_clock() schedule_hrtimeout_range_clock() uses an integer for the clock id diff --git a/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch b/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch index c5d8ac1cd..76b75172f 100644 --- a/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch +++ b/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch @@ -1,7 +1,7 @@ -From 7c110d9426bacfee7d216dda9d1919945e1f8168 Mon Sep 17 00:00:00 2001 +From 0a6e7eb400a68467d21993bd9ec87b43fc871411 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:54 +0100 -Subject: [PATCH 021/436] hrtimer: Fix hrtimer function description +Subject: [PATCH 021/437] hrtimer: Fix hrtimer function description 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 diff --git a/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch b/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch index 13f473525..9f6e52861 100644 --- a/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch +++ b/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch @@ -1,7 +1,7 @@ -From 1d542162944f298f4387b1519916f8ea87598c78 Mon Sep 17 00:00:00 2001 +From c70a78a159599bbc711e49f8d1d44a978d7fd6da Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:56 +0100 -Subject: [PATCH 022/436] hrtimer: Cleanup hrtimer_mode enum +Subject: [PATCH 022/437] hrtimer: Cleanup hrtimer_mode enum It's not obvious that the HRTIMER_MODE variants are bit combinations because all modes are hard coded constants. diff --git a/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch b/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch index c936894a0..ae433a17a 100644 --- a/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch +++ b/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch @@ -1,7 +1,7 @@ -From e2e61c339a78b7a6675f679b331b0337cdd1f3c6 Mon Sep 17 00:00:00 2001 +From 539a7faf8c0ee647ec65c88ab187f9200c8878cf Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:58 +0100 -Subject: [PATCH 023/436] tracing/hrtimer: Print hrtimer mode in hrtimer_start +Subject: [PATCH 023/437] tracing/hrtimer: Print hrtimer mode in hrtimer_start tracepoint The hrtimer_start tracepoint lacks the mode information. The mode is diff --git a/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch b/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch index f6bb9e8fe..eff1b6f0f 100644 --- a/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch +++ b/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch @@ -1,7 +1,7 @@ -From ba2ce34398180bcdd5d8a2b7c8c8edc0bf5fd565 Mon Sep 17 00:00:00 2001 +From bb3a1b059ac7a6e2ada2d4045a8a18a125627e65 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:59 +0100 -Subject: [PATCH 024/436] hrtimer: Switch for loop to _ffs() evaluation +Subject: [PATCH 024/437] hrtimer: Switch for loop to _ffs() evaluation Looping over all clock bases to find active bits is suboptimal if not all bases are active. diff --git a/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch b/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch index eec09eef4..fd097ed55 100644 --- a/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch +++ b/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch @@ -1,7 +1,7 @@ -From f7d2f51a955845df416cec29b5b8f3d101a62edc Mon Sep 17 00:00:00 2001 +From 06c6f558d3e8182d49a68dd3cafa56d771e0aa30 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:00 +0100 -Subject: [PATCH 025/436] hrtimer: Store running timer in hrtimer_clock_base +Subject: [PATCH 025/437] hrtimer: Store running timer in hrtimer_clock_base The pointer to the currently running timer is stored in hrtimer_cpu_base before the base lock is dropped and the callback is invoked. diff --git a/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch b/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch index fc270ca65..d0b6bd043 100644 --- a/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch +++ b/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch @@ -1,7 +1,7 @@ -From 439b902a93a050a76c5a41971d3bfff2a639991c Mon Sep 17 00:00:00 2001 +From 848a963465a750a46dd6554f18ff5593d8b9cbda Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:01 +0100 -Subject: [PATCH 026/436] hrtimer: Make room in struct hrtimer_cpu_base +Subject: [PATCH 026/437] hrtimer: Make room in struct hrtimer_cpu_base The upcoming softirq based hrtimers support requires an additional field in the hrtimer_cpu_base struct, which would grow the struct size beyond a diff --git a/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch b/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch index 430a41e2b..ee415e604 100644 --- a/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch +++ b/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch @@ -1,7 +1,7 @@ -From eed392ed4eea40dc81b0f08f5af6f9c8dd1e5c9d Mon Sep 17 00:00:00 2001 +From ae9cbcb83bcfc4a83965378438eca2a1ca78afc9 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:02 +0100 -Subject: [PATCH 027/436] hrtimer: Reduce conditional code (hres_active) +Subject: [PATCH 027/437] hrtimer: Reduce conditional code (hres_active) The hrtimer_cpu_base struct has the CONFIG_HIGH_RES_TIMERS conditional struct member hres_active. All related functions to this member are diff --git a/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch b/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch index 01347852f..376702821 100644 --- a/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch +++ b/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch @@ -1,7 +1,7 @@ -From 0cb9b38d194f0dd00e2f1ff3df007d190eadbce0 Mon Sep 17 00:00:00 2001 +From b978729a14b5b64461840a95d386fe545dae0924 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:03 +0100 -Subject: [PATCH 028/436] hrtimer: Use accesor functions instead of direct +Subject: [PATCH 028/437] hrtimer: Use accesor functions instead of direct access __hrtimer_hres_active() is now available unconditionally. Replace the diff --git a/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch b/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch index 5554c0e95..fa8675880 100644 --- a/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch +++ b/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch @@ -1,7 +1,7 @@ -From fb6cd12081ee6d86489859ab63b6074749e19863 Mon Sep 17 00:00:00 2001 +From b5cd9c9539b8a050c5c9806e54aa9b295215ba00 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:04 +0100 -Subject: [PATCH 029/436] hrtimer: Make the remote enqueue check unconditional +Subject: [PATCH 029/437] hrtimer: Make the remote enqueue check unconditional 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 diff --git a/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch b/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch index 3b519bc37..6baeaee02 100644 --- a/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch +++ b/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch @@ -1,7 +1,7 @@ -From 4eafc2204b963f56aefd00ba6dd56281da522f9c Mon Sep 17 00:00:00 2001 +From 63efcc991a5d6b098605ccdb9a2223f6afbd8602 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:05 +0100 -Subject: [PATCH 030/436] hrtimer: Make hrtimer_cpu_base.next_timer handling +Subject: [PATCH 030/437] hrtimer: Make hrtimer_cpu_base.next_timer handling unconditional hrtimer_cpu_base.next_timer stores the pointer to the next expiring timer diff --git a/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch b/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch index f42afd2e2..e20402d92 100644 --- a/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch +++ b/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch @@ -1,7 +1,7 @@ -From ecc1e9d779785cfa898061b46fa817345c6b368d Mon Sep 17 00:00:00 2001 +From 259346e29614e27a84c4e3cbcbe6a26e61ad56eb Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:06 +0100 -Subject: [PATCH 031/436] hrtimer: Make hrtimer_reprogramm() unconditional +Subject: [PATCH 031/437] hrtimer: Make hrtimer_reprogramm() unconditional hrtimer_reprogram() needs to be available unconditionally for softirq based hrtimers. Move the function and all required struct members out of the diff --git a/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch b/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch index 974c9efbd..6ef9a5cb1 100644 --- a/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch +++ b/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch @@ -1,7 +1,7 @@ -From 48b6a0f506990ee4684b296d78e093e9ac0b7224 Mon Sep 17 00:00:00 2001 +From 24cd3845de20fd8fe195d0e9cc51e64669d39f1f Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:07 +0100 -Subject: [PATCH 032/436] hrtimer: Make hrtimer_force_reprogramm() +Subject: [PATCH 032/437] hrtimer: Make hrtimer_force_reprogramm() unconditionally available hrtimer_force_reprogram() needs to be available unconditionally for softirq diff --git a/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch b/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch index ea654a4e9..08fdcd58b 100644 --- a/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch +++ b/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch @@ -1,7 +1,7 @@ -From 0c186571c4739218332529a19a4643483cb6fe2e Mon Sep 17 00:00:00 2001 +From e74c0793383b70b53c785a36f9dcdc7c8d3f6940 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:08 +0100 -Subject: [PATCH 033/436] hrtimer: Unify handling of hrtimer remove +Subject: [PATCH 033/437] hrtimer: Unify handling of hrtimer remove When the first hrtimer on the current CPU is removed, hrtimer_force_reprogram() is invoked but only when diff --git a/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch b/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch index f62846446..d55e9a4f4 100644 --- a/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch +++ b/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch @@ -1,7 +1,7 @@ -From 3daee0ac6328e6204b9195b261e8fadf0bc18122 Mon Sep 17 00:00:00 2001 +From 8fb098ddff5d47a14a9a5843032b8e206c83ff7a Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:09 +0100 -Subject: [PATCH 034/436] hrtimer: Unify handling of remote enqueue +Subject: [PATCH 034/437] hrtimer: Unify handling of remote enqueue hrtimer_reprogram() is conditionally invoked from hrtimer_start_range_ns() when hrtimer_cpu_base.hres_active is true. diff --git a/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch b/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch index 9e71c915f..6e16e989d 100644 --- a/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch +++ b/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch @@ -1,7 +1,7 @@ -From 303da5afe17f3813bbcc8beb64cb204c4ddde26f Mon Sep 17 00:00:00 2001 +From 13b3625a91c6df2a63dfc4ac26db33008d63a7e2 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:10 +0100 -Subject: [PATCH 035/436] hrtimer: Make remote enqueue decision less +Subject: [PATCH 035/437] hrtimer: Make remote enqueue decision less restrictive The current decision whether a timer can be queued on a remote CPU checks diff --git a/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch b/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch index 4937bfc9b..c52391d16 100644 --- a/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch +++ b/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch @@ -1,7 +1,7 @@ -From e29fa4fd3cfb37cae8574b3627ecf35c37d15dfb Mon Sep 17 00:00:00 2001 +From 0cf40556907398391a02e49acbb93e2be5f0be98 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:11 +0100 -Subject: [PATCH 036/436] hrtimer: Remove base argument from +Subject: [PATCH 036/437] hrtimer: Remove base argument from hrtimer_reprogram() hrtimer_reprogram() must have access to the hrtimer_clock_base of the new diff --git a/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch b/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch index 5e76bff31..33a4d9f5f 100644 --- a/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch +++ b/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch @@ -1,7 +1,7 @@ -From e2c098336608f18700fd9487c311fb9aeece7d92 Mon Sep 17 00:00:00 2001 +From e884985cb8d91c0547a8d1cdda126bf7e0019c1c Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:12 +0100 -Subject: [PATCH 037/436] hrtimer: Split hrtimer_start_range_ns() +Subject: [PATCH 037/437] hrtimer: Split hrtimer_start_range_ns() Preparatory patch for softirq based hrtimers to avoid code duplication. No functional change. diff --git a/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch b/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch index 7231907ef..3a80d8329 100644 --- a/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch +++ b/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch @@ -1,7 +1,7 @@ -From 53170efb9c386a45b5c489dc35b7e7973c132efa Mon Sep 17 00:00:00 2001 +From 4317f172bc6903167e82cc24d11bea7e21148440 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:13 +0100 -Subject: [PATCH 038/436] hrtimer: Split __hrtimer_get_next_event() +Subject: [PATCH 038/437] hrtimer: Split __hrtimer_get_next_event() Preparatory patch for softirq based hrtimers to avoid code duplication. No functional change. diff --git a/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch b/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch index bc6e72593..b3a95bfe9 100644 --- a/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch @@ -1,7 +1,7 @@ -From 45400777dc3530c3284be14e32a31609118207f8 Mon Sep 17 00:00:00 2001 +From b7ccaa85f3ae93369f44be697f5db72c1c3f5c10 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:14 +0100 -Subject: [PATCH 039/436] hrtimer: Use irqsave/irqrestore around +Subject: [PATCH 039/437] hrtimer: Use irqsave/irqrestore around __run_hrtimer() __run_hrtimer() is called with the hrtimer_cpu_base.lock held and diff --git a/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch b/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch index 2ca01e8b2..323886439 100644 --- a/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch +++ b/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch @@ -1,7 +1,7 @@ -From 3062a89af94d8d70f3c044733bc906f51e195a69 Mon Sep 17 00:00:00 2001 +From ca683556d23c0f7dd07d63f56d9becd628db4386 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:15 +0100 -Subject: [PATCH 040/436] hrtimer: Add clock bases and hrtimer mode for soft +Subject: [PATCH 040/437] hrtimer: Add clock bases and hrtimer mode for soft irq context hrtimer callback functions are always executed in hard interrupt diff --git a/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch b/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch index ffe9c53db..067a1949e 100644 --- a/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch +++ b/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch @@ -1,7 +1,7 @@ -From c1fd7a1a4968a24534f93a57415bf4d036d359ce Mon Sep 17 00:00:00 2001 +From cae6bc5fa3632fb13d559189b382b8935b165be1 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:16 +0100 -Subject: [PATCH 041/436] hrtimer: Prepare handling of hard and softirq based +Subject: [PATCH 041/437] hrtimer: Prepare handling of hard and softirq based hrtimers The softirq based hrtimer can utilize most of the existing hrtimers diff --git a/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch b/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch index 1e98a1ba8..758292c4a 100644 --- a/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch +++ b/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch @@ -1,7 +1,7 @@ -From f4779fdd37c4e7e0c42a6ab01b6154bd77ca754f Mon Sep 17 00:00:00 2001 +From 478a104cc093e2bd50b75791abc57f3a7957e566 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:17 +0100 -Subject: [PATCH 042/436] hrtimer: Implement support for softirq based hrtimers +Subject: [PATCH 042/437] hrtimer: Implement support for softirq based hrtimers hrtimer callbacks are always invoked in hard interrupt context. Several users in tree require soft interrupt context for their callbacks and diff --git a/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch b/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch index 27ad627d6..16256278b 100644 --- a/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch +++ b/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch @@ -1,7 +1,7 @@ -From a220113cd1c9f57fc5d45e5ea5c449f6240dc2de Mon Sep 17 00:00:00 2001 +From 236c74d642c5fb89d4733b97b4f85ba6d1f98fde Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:18 +0100 -Subject: [PATCH 043/436] hrtimer: Implement SOFT/HARD clock base selection +Subject: [PATCH 043/437] hrtimer: Implement SOFT/HARD clock base selection All prerequisites to handle hrtimers for expiry in either hard or soft interrupt context are in place. diff --git a/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch b/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch index 51f6dddbd..dcc29a581 100644 --- a/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch +++ b/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch @@ -1,7 +1,7 @@ -From f4f1acb61f5560c1db362ee697724bb4f53c0581 Mon Sep 17 00:00:00 2001 +From 53707523d5193b8dd4a0fb417bf4a09edc811c6c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:11 +0100 -Subject: [PATCH 044/436] can/bcm: Replace hrtimer_tasklet with softirq based +Subject: [PATCH 044/437] can/bcm: Replace hrtimer_tasklet with softirq based hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer diff --git a/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch b/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch index 2b43f0a60..090a01a76 100644 --- a/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch +++ b/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch @@ -1,7 +1,7 @@ -From 79f0b9349f6c0c3b3fa12c824db613d1865e0502 Mon Sep 17 00:00:00 2001 +From 342c4c04e0060c8e398dad26f9ca0abe9f9985b8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:12 +0100 -Subject: [PATCH 045/436] mac80211_hwsim: Replace hrtimer tasklet with softirq +Subject: [PATCH 045/437] mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer @@ -18,7 +18,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c -index aafa7aa18fbd..388f6d71ba71 100644 +index 477f9f2f6626..06dff45037fe 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -537,7 +537,7 @@ struct mac80211_hwsim_data { diff --git a/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch index 19a7a3b25..544a9a596 100644 --- a/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 1c2c5ac9f860c73ffeb197a06d7cdbc138a9efad Mon Sep 17 00:00:00 2001 +From a18cdb53cd5213258d37db709c0af9feb3e68341 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:13 +0100 -Subject: [PATCH 046/436] xfrm: Replace hrtimer tasklet with softirq hrtimer +Subject: [PATCH 046/437] xfrm: Replace hrtimer tasklet with softirq hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer callback in softirq context and remove the hrtimer_tasklet. diff --git a/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch b/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch index 8b68525ac..803faeae2 100644 --- a/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch @@ -1,7 +1,7 @@ -From fb75d95b4db545cc06f533a961e2e72a0a4a1dab Mon Sep 17 00:00:00 2001 +From 7e36685a07adb7a6bb5e1c8ca09b359dad8ba444 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:14 +0100 -Subject: [PATCH 047/436] softirq: Remove tasklet_hrtimer +Subject: [PATCH 047/437] softirq: Remove tasklet_hrtimer There are no more tasklet_hrtimer users of this interface. Remove it. diff --git a/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch index bdead68dd..6b475df4c 100644 --- a/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 7328b08d4e7fc41ef5c3a97088a9aa737c57948f Mon Sep 17 00:00:00 2001 +From 3ebe79e022f917a7461c7785d2882e578c34f094 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:15 +0100 -Subject: [PATCH 048/436] ALSA/dummy: Replace tasklet with softirq hrtimer +Subject: [PATCH 048/437] ALSA/dummy: Replace tasklet with softirq hrtimer 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 diff --git a/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch index b3a73dfd2..f12ab9144 100644 --- a/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 677b9236fd46765dfb19b620f9deebdc1d2109fa Mon Sep 17 00:00:00 2001 +From 9e2909d68eb94cf781688f66472b85e95a8aebde Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:16 +0100 -Subject: [PATCH 049/436] usb/gadget/NCM: Replace tasklet with softirq hrtimer +Subject: [PATCH 049/437] usb/gadget/NCM: Replace tasklet with softirq hrtimer The tx_tasklet tasklet is used in invoke the hrtimer (task_timer) in softirq context. This can be also achieved without the tasklet but diff --git a/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch index 6e3cb5619..393d5fd6f 100644 --- a/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 2d4d8eb116bf37ce4e85e4f0a2258d1d2be4fbf0 Mon Sep 17 00:00:00 2001 +From 5f46919e7892edef70b9289e2c8418e4f9ffe804 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:17 +0100 -Subject: [PATCH 050/436] net/mvpp2: Replace tasklet with softirq hrtimer +Subject: [PATCH 050/437] net/mvpp2: Replace tasklet with softirq hrtimer The tx_done_tasklet tasklet is used in invoke the hrtimer (mvpp2_hr_timer_cb) in softirq context. This can be also achieved without diff --git a/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch b/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch index c5397a63d..eef75d36f 100644 --- a/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch +++ b/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch @@ -1,7 +1,7 @@ -From 7babc00b8520a16b16548594019656dc86d0a7db Mon Sep 17 00:00:00 2001 +From 3855ee73c8b0f26ecb2bedd2c28351c38d3882ab Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Mar 2016 10:51:06 +0100 -Subject: [PATCH 051/436] arm: at91: do not disable/enable clocks in a row +Subject: [PATCH 051/437] arm: at91: do not disable/enable clocks in a row Currently the driver will disable the clock and enable it one line later if it is switching from periodic mode into one shot. diff --git a/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch b/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch index 2d852f224..cb2b5eef0 100644 --- a/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch +++ b/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch @@ -1,7 +1,7 @@ -From 53fb9206323ef728ea0f14902463967e270bd819 Mon Sep 17 00:00:00 2001 +From 507ef937323c7aeb59dad74c200aaaa9f16e6150 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Fri, 11 Sep 2015 21:21:23 +0300 -Subject: [PATCH 052/436] ARM: smp: Move clear_tasks_mm_cpumask() call to +Subject: [PATCH 052/437] ARM: smp: Move clear_tasks_mm_cpumask() call to __cpu_die() When running with the RT-kernel (4.1.5-rt5) on TI OMAP dra7-evm and trying diff --git a/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch b/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch index c89e5f636..d21c0256b 100644 --- a/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch +++ b/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch @@ -1,7 +1,7 @@ -From 532ea3b6e0d6a0304e93354a21e78e285e867666 Mon Sep 17 00:00:00 2001 +From 04d4c6f31743974003d211da27cfe093f8cb724d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 6 Nov 2015 18:51:03 +0100 -Subject: [PATCH 053/436] rtmutex: Handle non enqueued waiters gracefully +Subject: [PATCH 053/437] rtmutex: Handle non enqueued waiters gracefully Yimin debugged that in case of a PI wakeup in progress when rt_mutex_start_proxy_lock() calls task_blocks_on_rt_mutex() the latter diff --git a/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch b/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch index 796614921..6359ee275 100644 --- a/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch +++ b/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch @@ -1,7 +1,7 @@ -From 8e75cfff66ea82d1e9ee23951d1c024eb61de40f Mon Sep 17 00:00:00 2001 +From 3152ba2bf24f52a147556852a29522b67cb6ceb0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 11:52:17 +0200 -Subject: [PATCH 054/436] rbtree: include rcu.h because we use it +Subject: [PATCH 054/437] rbtree: include rcu.h because we use it Since commit c1adf20052d8 ("Introduce rb_replace_node_rcu()") rbtree_augmented.h uses RCU related data structures but does not include diff --git a/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch b/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch index 6c7f834bb..1b39a4349 100644 --- a/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch +++ b/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch @@ -1,7 +1,7 @@ -From 9189b3435be502e4f5d68f9cddc1521c061f8633 Mon Sep 17 00:00:00 2001 +From 0327ee53081aa5cda616879003e4817ee6d231d3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Oct 2016 10:54:50 +0200 -Subject: [PATCH 055/436] rxrpc: remove unused static variables +Subject: [PATCH 055/437] rxrpc: remove unused static variables The rxrpc_security_methods and rxrpc_security_sem user has been removed in 648af7fca159 ("rxrpc: Absorb the rxkad security module"). This was diff --git a/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch b/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch index 5bb4905b5..c6dffa114 100644 --- a/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch +++ b/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch @@ -1,7 +1,7 @@ -From b3ef742bd69b1c3a8a8de92cd50a4ed847c8a704 Mon Sep 17 00:00:00 2001 +From fa6ce1fa81dfde47d57ea111931de106e2977ebc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 4 Oct 2017 09:55:58 +0200 -Subject: [PATCH 056/436] mfd: syscon: atmel-smc: include string.h +Subject: [PATCH 056/437] mfd: syscon: atmel-smc: include string.h The string.h header file is needed for the memset() definition. The RT build fails because it is not pulled in via other header files. diff --git a/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch b/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch index 6caa1a7da..6cd305f49 100644 --- a/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch +++ b/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch @@ -1,7 +1,7 @@ -From 1adbe37c6f82c2b4e2624aca0fafb9eca5352a29 Mon Sep 17 00:00:00 2001 +From 307536cbf7b07eeaf5582bf169c3a2b235720280 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 4 Dec 2017 13:11:10 +0100 -Subject: [PATCH 057/436] sched/swait: include wait.h +Subject: [PATCH 057/437] sched/swait: include wait.h kbuild bot reported against an intermediate RT patch that the build fails with: diff --git a/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch b/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch index 698af89d7..d92f7869a 100644 --- a/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch +++ b/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch @@ -1,7 +1,7 @@ -From 9fa0e7f0017db01e7e8c77ca1f86a566d4e5f019 Mon Sep 17 00:00:00 2001 +From 45a017ae2c5bb2548baa8a2848ac7d81c86dc757 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 28 Oct 2016 23:05:11 +0200 -Subject: [PATCH 058/436] NFSv4: replace seqcount_t with a seqlock_t +Subject: [PATCH 058/437] NFSv4: replace seqcount_t with a seqlock_t 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 diff --git a/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch b/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch index 6dac6dafa..0ecaa6ea7 100644 --- a/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch +++ b/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch @@ -1,7 +1,7 @@ -From 918b1f95c559936299f3afeb0c99bddef9350051 Mon Sep 17 00:00:00 2001 +From 993ed674f91546159ccd72fcfccb05b7179df734 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 15:35:57 +0200 -Subject: [PATCH 059/436] Bluetooth: avoid recursive locking in +Subject: [PATCH 059/437] Bluetooth: avoid recursive locking in hci_send_to_channel() Mart reported a deadlock in -RT in the call path: diff --git a/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch b/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch index ec83289a5..97138d637 100644 --- a/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch +++ b/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch @@ -1,7 +1,7 @@ -From 6b07734ad489748df65654353084f63fdc1b8d42 Mon Sep 17 00:00:00 2001 +From fdbd8254ab62179f7aee6033e4ff8353b4ade395 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 17:21:40 +0200 -Subject: [PATCH 060/436] iommu/iova: Use raw_cpu_ptr() instead of +Subject: [PATCH 060/437] iommu/iova: Use raw_cpu_ptr() instead of get_cpu_ptr() for ->fq get_cpu_ptr() disabled preemption and returns the ->fq object of the diff --git a/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch index 7f32bb833..ecb39c0dc 100644 --- a/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From 7e75fe20e5269dfbf6595e6a109622fe154c9b08 Mon Sep 17 00:00:00 2001 +From fbcbb30ee0869c20e0058364661c2bb612c48bbf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Oct 2017 14:38:52 +0200 -Subject: [PATCH 061/436] greybus: audio: don't inclide rwlock.h directly. +Subject: [PATCH 061/437] greybus: audio: don't inclide rwlock.h directly. rwlock.h should not be included directly. Instead linux/splinlock.h should be included. One thing it does is to break the RT build. diff --git a/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch index e56228745..f8d41bbbd 100644 --- a/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From e983c7f9a2dfe6712b88f4313964bb6df1c57664 Mon Sep 17 00:00:00 2001 +From 53e8aad4871bacbe9ca9dae684d61821f520300d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Oct 2017 14:38:52 +0200 -Subject: [PATCH 062/436] xen/9pfs: don't inclide rwlock.h directly. +Subject: [PATCH 062/437] xen/9pfs: don't inclide rwlock.h directly. rwlock.h should not be included directly. Instead linux/splinlock.h should be included. One thing it does is to break the RT build. diff --git a/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch b/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch index c096cceef..488c6f8fd 100644 --- a/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch +++ b/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch @@ -1,7 +1,7 @@ -From 549a18db1dde0ebb994070cf7eebbd74eacbb8b2 Mon Sep 17 00:00:00 2001 +From 0d3d9c5f072e910b2f184bfac6c15b9690a779e9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 16:06:13 +0100 -Subject: [PATCH 063/436] drm/i915: properly init lockdep class +Subject: [PATCH 063/437] drm/i915: properly init lockdep class The code has an ifdef and uses two functions to either init the bare spinlock or init it and set a lock-class. It is possible to do the same diff --git a/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch b/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch index 26eb8ba30..c5549721d 100644 --- a/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch +++ b/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch @@ -1,7 +1,7 @@ -From ff9be689ee4285f992d0a120fcd18352286f8835 Mon Sep 17 00:00:00 2001 +From 74826a26ced7740701c5d18e2678b2771ef4b9f1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Dec 2017 15:51:15 +0100 -Subject: [PATCH 064/436] timerqueue: Document return values of +Subject: [PATCH 064/437] timerqueue: Document return values of timerqueue_add/del() The return values of timerqueue_add/del() are not documented in the kernel doc diff --git a/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch b/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch index 2d174cbd0..bfd67961b 100644 --- a/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch +++ b/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch @@ -1,7 +1,7 @@ -From e89438fcc94141c04b9523198d6b4b313aa731b2 Mon Sep 17 00:00:00 2001 +From 5692af55627acc4af517136fd0ea965581b5bba8 Mon Sep 17 00:00:00 2001 From: Allen Pais Date: Fri, 13 Dec 2013 09:44:41 +0530 -Subject: [PATCH 065/436] sparc64: use generic rwsem spinlocks rt +Subject: [PATCH 065/437] sparc64: use generic rwsem spinlocks rt Signed-off-by: Allen Pais Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch b/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch index db2a310e9..f4d2665cc 100644 --- a/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch +++ b/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch @@ -1,7 +1,7 @@ -From 3e2e707bda26b4126924bb1bdc59e31fd85ed8c0 Mon Sep 17 00:00:00 2001 +From 04c244882b9bf3a257292ac6b3cfba56121b3628 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 19 Mar 2013 14:44:30 +0100 -Subject: [PATCH 066/436] kernel/SRCU: provide a static initializer +Subject: [PATCH 066/437] kernel/SRCU: provide a static initializer There are macros for static initializer for the three out of four possible notifier types, that are: diff --git a/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch b/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch index 7a2b9efde..e1f2df208 100644 --- a/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch +++ b/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch @@ -1,7 +1,7 @@ -From d9e85ffb300e1085555e533c5a94234132f3d57e Mon Sep 17 00:00:00 2001 +From 23624e1d8e58efec7e18f61451c2feb4f37238ab Mon Sep 17 00:00:00 2001 From: "bigeasy@linutronix.de" Date: Fri, 23 Mar 2018 18:17:36 +0100 -Subject: [PATCH 067/436] target: drop spin_lock_assert() + irqs_disabled() +Subject: [PATCH 067/437] target: drop spin_lock_assert() + irqs_disabled() combo checks There are a few functions which check for if the lock is held diff --git a/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch b/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch index 65fbfd703..ee3b1f95c 100644 --- a/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch +++ b/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch @@ -1,7 +1,7 @@ -From 81f67130348c1a4e4b2fdbc3840738151370a036 Mon Sep 17 00:00:00 2001 +From 48bcffa01b2e8a54e5b8fb0100dffce5f3864bea Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 4 Apr 2017 12:50:16 +0200 -Subject: [PATCH 068/436] kernel: sched: Provide a pointer to the valid CPU +Subject: [PATCH 068/437] kernel: sched: Provide a pointer to the valid CPU mask MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -325,7 +325,7 @@ index 8062e6cc607c..53ee20e0b168 100644 .mm = NULL, \ .active_mm = &init_mm, \ diff --git a/include/linux/sched.h b/include/linux/sched.h -index e04919aa8201..64d8d0794689 100644 +index 866439c361a9..7a8983b9880e 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -618,7 +618,8 @@ struct task_struct { @@ -375,7 +375,7 @@ index 6a219fea4926..d45043432b17 100644 * One for us, one for whoever does the "release_task()" (usually * parent) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 4e89ed8a0fb2..f2d6db386613 100644 +index 0552ddbb25e2..977b32a40784 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -912,7 +912,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p) @@ -613,7 +613,7 @@ index b2589c7e9439..7be1f4421cb8 100644 !dl_task(task) || !task_on_rq_queued(task))) { diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index b2d699f28304..a2421b2564b9 100644 +index 7240bb4a4090..304a7ebc7657 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1598,7 +1598,7 @@ static void task_numa_compare(struct task_numa_env *env, @@ -634,7 +634,7 @@ index b2d699f28304..a2421b2564b9 100644 continue; env->dst_cpu = cpu; -@@ -5477,7 +5477,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, +@@ -5493,7 +5493,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, /* Skip over this group if it has no CPUs allowed */ if (!cpumask_intersects(sched_group_span(group), @@ -643,7 +643,7 @@ index b2d699f28304..a2421b2564b9 100644 continue; local_group = cpumask_test_cpu(this_cpu, -@@ -5597,7 +5597,7 @@ find_idlest_cpu(struct sched_group *group, struct task_struct *p, int this_cpu) +@@ -5613,7 +5613,7 @@ find_idlest_cpu(struct sched_group *group, struct task_struct *p, int this_cpu) return cpumask_first(sched_group_span(group)); /* Traverse only the allowed CPUs */ @@ -652,7 +652,7 @@ index b2d699f28304..a2421b2564b9 100644 if (idle_cpu(i)) { struct rq *rq = cpu_rq(i); struct cpuidle_state *idle = idle_get_state(rq); -@@ -5700,7 +5700,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int +@@ -5716,7 +5716,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int if (!test_idle_cores(target, false)) return -1; @@ -661,7 +661,7 @@ index b2d699f28304..a2421b2564b9 100644 for_each_cpu_wrap(core, cpus, target) { bool idle = true; -@@ -5734,7 +5734,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t +@@ -5750,7 +5750,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t return -1; for_each_cpu(cpu, cpu_smt_mask(target)) { @@ -670,7 +670,7 @@ index b2d699f28304..a2421b2564b9 100644 continue; if (idle_cpu(cpu)) return cpu; -@@ -5797,7 +5797,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t +@@ -5813,7 +5813,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t for_each_cpu_wrap(cpu, sched_domain_span(sd), target) { if (!--nr) return -1; @@ -679,7 +679,7 @@ index b2d699f28304..a2421b2564b9 100644 continue; if (idle_cpu(cpu)) break; -@@ -5952,7 +5952,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f +@@ -5968,7 +5968,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f if (sd_flag & SD_BALANCE_WAKE) { record_wakee(p); want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu) @@ -688,7 +688,7 @@ index b2d699f28304..a2421b2564b9 100644 } rcu_read_lock(); -@@ -6701,14 +6701,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -6717,14 +6717,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* * We do not migrate tasks that are: * 1) throttled_lb_pair, or @@ -705,7 +705,7 @@ index b2d699f28304..a2421b2564b9 100644 int cpu; schedstat_inc(p->se.statistics.nr_failed_migrations_affine); -@@ -6728,7 +6728,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -6744,7 +6744,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* Prevent to re-select dst_cpu via env's cpus */ for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) { @@ -714,7 +714,7 @@ index b2d699f28304..a2421b2564b9 100644 env->flags |= LBF_DST_PINNED; env->new_dst_cpu = cpu; break; -@@ -7297,7 +7297,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) +@@ -7313,7 +7313,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) /* * Group imbalance indicates (and tries to solve) the problem where balancing @@ -723,7 +723,7 @@ index b2d699f28304..a2421b2564b9 100644 * * Imagine a situation of two groups of 4 cpus each and 4 tasks each with a * cpumask covering 1 cpu of the first group and 3 cpus of the second group. -@@ -7873,7 +7873,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) +@@ -7889,7 +7889,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) /* * If the busiest group is imbalanced the below checks don't * work because they assume all things are equal, which typically @@ -732,7 +732,7 @@ index b2d699f28304..a2421b2564b9 100644 */ if (busiest->group_type == group_imbalanced) goto force_balance; -@@ -8265,7 +8265,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, +@@ -8281,7 +8281,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, * if the curr task on busiest cpu can't be * moved to this_cpu */ diff --git a/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch b/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch index f278c3031..23b4020c6 100644 --- a/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch +++ b/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch @@ -1,7 +1,7 @@ -From 9c81f3c12b1ebc71818160d0bd10a3be7027b52a Mon Sep 17 00:00:00 2001 +From 79690d62718a5e83b3d7fce3f4939d55b961812a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 069/436] kernel/sched/core: add migrate_disable() +Subject: [PATCH 069/437] kernel/sched/core: add migrate_disable() --- include/linux/preempt.h | 23 +++++++ @@ -53,7 +53,7 @@ index 5bd3f151da78..81c69aeab662 100644 #ifdef MODULE diff --git a/include/linux/sched.h b/include/linux/sched.h -index 64d8d0794689..c22e7b475dd9 100644 +index 7a8983b9880e..b0390902a36f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -620,6 +620,13 @@ struct task_struct { @@ -85,7 +85,7 @@ index 9fb239e12b82..5801e516ba63 100644 * Callback to arch code if there's nosmp or maxcpus=0 on the * boot command line: diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f2d6db386613..40a07276d5a3 100644 +index 977b32a40784..590a3a396048 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1042,7 +1042,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -144,7 +144,7 @@ index f2d6db386613..40a07276d5a3 100644 dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask); if (task_running(rq, p) || p->state == TASK_WAKING) { struct migration_arg arg = { p, dest_cpu }; -@@ -6756,3 +6785,100 @@ const u32 sched_prio_to_wmult[40] = { +@@ -6762,3 +6791,100 @@ const u32 sched_prio_to_wmult[40] = { /* 10 */ 39045157, 49367440, 61356676, 76695844, 95443717, /* 15 */ 119304647, 148102320, 186737708, 238609294, 286331153, }; diff --git a/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch b/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch index e191d8793..88fa05b10 100644 --- a/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch +++ b/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch @@ -1,7 +1,7 @@ -From 00c9e3285ff96ec493c5afb0408063fd130792a4 Mon Sep 17 00:00:00 2001 +From 5949dd1e7ccd5b129d4f1fd30c9090bcc1ee8620 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Thu, 21 Sep 2017 16:22:49 -0400 -Subject: [PATCH 070/436] tracing: Reverse the order of trace_types_lock and +Subject: [PATCH 070/437] tracing: Reverse the order of trace_types_lock and event_mutex In order to make future changes where we need to call diff --git a/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch b/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch index 620789ef2..a7ac3b8c6 100644 --- a/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch +++ b/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch @@ -1,7 +1,7 @@ -From 8c82729cb3bf984e8257bf7843a37d19e803edf0 Mon Sep 17 00:00:00 2001 +From 2b1f41ec5ffa792926f78d9561c67ec7bfc7a215 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 22 Sep 2017 16:59:02 -0400 -Subject: [PATCH 071/436] ring-buffer: Rewrite trace_recursive_(un)lock() to be +Subject: [PATCH 071/437] ring-buffer: Rewrite trace_recursive_(un)lock() to be simpler The current method to prevent the ring buffer from entering into a recursize diff --git a/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch b/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch index 44c7075ef..1dc0bc377 100644 --- a/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch +++ b/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch @@ -1,7 +1,7 @@ -From 4d5bd2bc8c1046d6b64b98bf080b9e73d5eb8eb9 Mon Sep 17 00:00:00 2001 +From 6c8db16c6d06bad6ad65df740972283acaf82297 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:18 -0500 -Subject: [PATCH 072/436] tracing: Remove lookups from tracing_map hitcount +Subject: [PATCH 072/437] tracing: Remove lookups from tracing_map hitcount Lookups inflate the hitcount, making it essentially useless. Only inserts and updates should really affect the hitcount anyway, so diff --git a/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch b/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch index 6ef20bc66..3f4d29120 100644 --- a/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch +++ b/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch @@ -1,7 +1,7 @@ -From 75fce04d9c189d3ca0939a2fb9222148294ab580 Mon Sep 17 00:00:00 2001 +From 45d6041465d780691c7c498eb7f7458bb5192ded Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:19 -0500 -Subject: [PATCH 073/436] tracing: Increase tracing map KEYS_MAX size +Subject: [PATCH 073/437] tracing: Increase tracing map KEYS_MAX size 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. diff --git a/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch b/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch index 0ec355c74..0012d51c9 100644 --- a/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch +++ b/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch @@ -1,7 +1,7 @@ -From 6d46ff947e3770ca06a31bed2994e949d53157d9 Mon Sep 17 00:00:00 2001 +From f8a450144ee205d29baae926ec23478a12f25476 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:20 -0500 -Subject: [PATCH 074/436] tracing: Make traceprobe parsing code reusable +Subject: [PATCH 074/437] tracing: Make traceprobe parsing code reusable traceprobe_probes_write() and traceprobe_command() actually contain nothing that ties them to kprobes - the code is generically useful for diff --git a/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch b/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch index 63f054f15..1e46021eb 100644 --- a/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch +++ b/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch @@ -1,7 +1,7 @@ -From 13692285738a6e8ea3912bf8fb04efe496c4f867 Mon Sep 17 00:00:00 2001 +From a10939ad451478d0da11c0b2fb7e77219a7fbd8f Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:21 -0500 -Subject: [PATCH 075/436] tracing: Clean up hist_field_flags enum +Subject: [PATCH 075/437] tracing: Clean up hist_field_flags enum As we add more flags, specifying explicit integers for the flag values becomes more unwieldy and error-prone - switch them over to left-shift diff --git a/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch b/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch index f4c62a1d2..44eb4c5dd 100644 --- a/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch +++ b/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch @@ -1,7 +1,7 @@ -From 098486e3e0b23f387a8ae56146af524a899df61b Mon Sep 17 00:00:00 2001 +From 5268e6c1c89091d12ad6e4f39733c0523498f42a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:22 -0500 -Subject: [PATCH 076/436] tracing: Add hist_field_name() accessor +Subject: [PATCH 076/437] tracing: Add hist_field_name() accessor 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 diff --git a/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch b/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch index 71ac71d3f..ef68c1b3f 100644 --- a/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch +++ b/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch @@ -1,7 +1,7 @@ -From 63287a6a1890a9ff59794d32ebe66ae2e211d067 Mon Sep 17 00:00:00 2001 +From a26cd096a9541d39014f28705c6cdb351212b3c3 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:23 -0500 -Subject: [PATCH 077/436] tracing: Reimplement log2 +Subject: [PATCH 077/437] tracing: Reimplement log2 log2 as currently implemented applies only to u64 trace_event_field derived fields, and assumes that anything it's applied to is a u64 diff --git a/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch b/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch index 27fa5623e..7d8a92cee 100644 --- a/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch +++ b/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch @@ -1,7 +1,7 @@ -From d27f2714b35489b3fd0f42402c6f9438c0a51a0c Mon Sep 17 00:00:00 2001 +From 63731b6eb06799763c7f72a36954341fffc9d003 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:35 -0600 -Subject: [PATCH 078/436] tracing: Move hist trigger Documentation to +Subject: [PATCH 078/437] tracing: Move hist trigger Documentation to histogram.txt The hist trigger Documentation takes up a large part of events.txt - diff --git a/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch b/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch index 84343bc22..f95a7ff65 100644 --- a/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch +++ b/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch @@ -1,7 +1,7 @@ -From 733d0f3dab66164d9b7fd1c8148d74596a28a0b7 Mon Sep 17 00:00:00 2001 +From cdc25f0d6e106121a6dd599495ad7f00f766ca49 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:36 -0600 -Subject: [PATCH 079/436] tracing: Add Documentation for log2 modifier +Subject: [PATCH 079/437] tracing: Add Documentation for log2 modifier Add a line for the log2 modifier, to keep it aligned with tracing/README. diff --git a/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch b/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch index f71255308..8b18d1703 100644 --- a/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch +++ b/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch @@ -1,7 +1,7 @@ -From aac90d8553f5912b8aa747cfeff416b182001c75 Mon Sep 17 00:00:00 2001 +From d8196bc0e2751a637e8eacbbd15ae20322b2b74d Mon Sep 17 00:00:00 2001 From: Vedang Patel Date: Mon, 15 Jan 2018 20:51:37 -0600 -Subject: [PATCH 080/436] tracing: Add support to detect and avoid duplicates +Subject: [PATCH 080/437] tracing: Add support to detect and avoid duplicates 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 diff --git a/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch b/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch index e3b549300..8a1f97354 100644 --- a/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch +++ b/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch @@ -1,7 +1,7 @@ -From 5f47ca5ca3a4eafc8400b2796acc4489868826fc Mon Sep 17 00:00:00 2001 +From 6139f982902cdb12bbbf875895de16575c41abc3 Mon Sep 17 00:00:00 2001 From: Vedang Patel Date: Mon, 15 Jan 2018 20:51:38 -0600 -Subject: [PATCH 081/436] tracing: Remove code which merges duplicates +Subject: [PATCH 081/437] tracing: Remove code which merges duplicates We now have the logic to detect and remove duplicates in the tracing_map hash table. The code which merges duplicates in the diff --git a/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch b/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch index ea1ef1755..a810fde12 100644 --- a/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch +++ b/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch @@ -1,7 +1,7 @@ -From ee8bdcca86ef3ea7c60a9826f0dbee38c9982d88 Mon Sep 17 00:00:00 2001 +From 582fb702bc2b0544b208b2a5990dadf00da3e486 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:39 -0600 -Subject: [PATCH 082/436] ring-buffer: Add interface for setting absolute time +Subject: [PATCH 082/437] ring-buffer: Add interface for setting absolute time stamps Define a new function, tracing_set_time_stamp_abs(), which can be used diff --git a/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch b/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch index 1f49599e6..99e0a751d 100644 --- a/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch +++ b/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch @@ -1,7 +1,7 @@ -From 629df73315953d7bd9915a582fd29a6ae031ae30 Mon Sep 17 00:00:00 2001 +From 64d14090ceefe8b55ecdcb0d3543fec1d830920c Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:40 -0600 -Subject: [PATCH 083/436] ring-buffer: Redefine the unimplemented +Subject: [PATCH 083/437] ring-buffer: Redefine the unimplemented RINGBUF_TYPE_TIME_STAMP RINGBUF_TYPE_TIME_STAMP is defined but not used, and from what I can diff --git a/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch b/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch index cd7c748e7..74e39a21a 100644 --- a/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch +++ b/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch @@ -1,7 +1,7 @@ -From 3dfea406486d3099fe0bfa0e357544a9def75e5b Mon Sep 17 00:00:00 2001 +From 78df5faab56e9333581a9b048905776dcb52bb99 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:41 -0600 -Subject: [PATCH 084/436] tracing: Add timestamp_mode trace file +Subject: [PATCH 084/437] tracing: Add timestamp_mode trace file Add a new option flag indicating whether or not the ring buffer is in 'absolute timestamp' mode. diff --git a/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch b/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch index c573e8dcc..35fea7d80 100644 --- a/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch +++ b/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch @@ -1,7 +1,7 @@ -From 6755f8741feecbfa6e028adc2c8d4b97b2853521 Mon Sep 17 00:00:00 2001 +From 635d753e923c3acd4de41b201ccc450da32e8330 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:42 -0600 -Subject: [PATCH 085/436] tracing: Give event triggers access to +Subject: [PATCH 085/437] tracing: Give event triggers access to ring_buffer_event The ring_buffer event can provide a timestamp that may be useful to diff --git a/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch b/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch index bd8bf34e8..05b1706f0 100644 --- a/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch +++ b/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch @@ -1,7 +1,7 @@ -From c62050d8381247c03f707df8de2bdbe903992fab Mon Sep 17 00:00:00 2001 +From 9bd98ebd9a345d81a789160ce7ab7a0c4be5c61a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:43 -0600 -Subject: [PATCH 086/436] tracing: Add ring buffer event param to hist field +Subject: [PATCH 086/437] tracing: Add ring buffer event param to hist field functions Some events such as timestamps require access to a ring_buffer_event diff --git a/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch b/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch index e772f05b0..2d43fd2d8 100644 --- a/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch +++ b/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch @@ -1,7 +1,7 @@ -From f2e4dce83b688c63ff2b5ed7efbc9bfa9f05fc57 Mon Sep 17 00:00:00 2001 +From e2bbd29cab8010be36eb88dc22c5e3addc9d7a2c Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:44 -0600 -Subject: [PATCH 087/436] tracing: Break out hist trigger assignment parsing +Subject: [PATCH 087/437] tracing: Break out hist trigger assignment parsing This will make it easier to add variables, and makes the parsing code cleaner regardless. diff --git a/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch b/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch index 1817594e7..ae515eefc 100644 --- a/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch +++ b/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch @@ -1,7 +1,7 @@ -From eccca881d4b64cf4fd9054e85af98b6d1d5d66db Mon Sep 17 00:00:00 2001 +From 67b7fdf52c9a5092aea0a1dd29becd8b5ba7292b Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:45 -0600 -Subject: [PATCH 088/436] tracing: Add hist trigger timestamp support +Subject: [PATCH 088/437] tracing: Add hist trigger timestamp support 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 diff --git a/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch b/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch index 5392511b4..90cc19308 100644 --- a/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch +++ b/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch @@ -1,7 +1,7 @@ -From 1b98b074afb138a1291a7da41c0ce3e37da1b75d Mon Sep 17 00:00:00 2001 +From 3c95c215d087d86eb91bda208a6b219eadb556e6 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:46 -0600 -Subject: [PATCH 089/436] tracing: Add per-element variable support to +Subject: [PATCH 089/437] tracing: Add per-element variable support to tracing_map In order to allow information to be passed between trace events, add diff --git a/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch b/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch index b23128687..fe111d785 100644 --- a/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch +++ b/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch @@ -1,7 +1,7 @@ -From 303b4c99bdb6bdbb51279511fd64a73525ac260d Mon Sep 17 00:00:00 2001 +From fa4697e01eb4236a2e0ec5d294ae41bc0d3d8a35 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:47 -0600 -Subject: [PATCH 090/436] tracing: Add hist_data member to hist_field +Subject: [PATCH 090/437] tracing: Add hist_data member to hist_field Allow hist_data access via hist_field. Some users of hist_fields require or will require more access to the associated hist_data. diff --git a/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch b/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch index 0a02f6d38..c8604b609 100644 --- a/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch +++ b/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch @@ -1,7 +1,7 @@ -From 56d66cbe3f238bae410364f173b9bf467b93c8b2 Mon Sep 17 00:00:00 2001 +From 89f6ad2173cbe3a78397f9a3ed07de978840b30d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:48 -0600 -Subject: [PATCH 091/436] tracing: Add usecs modifier for hist trigger +Subject: [PATCH 091/437] tracing: Add usecs modifier for hist trigger timestamps Appending .usecs onto a common_timestamp field will cause the diff --git a/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch b/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch index 013501fa0..6c2cf91c0 100644 --- a/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch @@ -1,7 +1,7 @@ -From a149e89bc2e9c39a3faa92f63a91a1b64f05020e Mon Sep 17 00:00:00 2001 +From 854d042f0bf85296ca85144c48f66475651cdaed Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:49 -0600 -Subject: [PATCH 092/436] tracing: Add variable support to hist triggers +Subject: [PATCH 092/437] tracing: Add variable support to hist triggers 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. diff --git a/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch b/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch index ca3835386..3ab7558b3 100644 --- a/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch +++ b/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch @@ -1,7 +1,7 @@ -From d2782b77fdc5d9f238ba186f8c408a9cd5f75576 Mon Sep 17 00:00:00 2001 +From 3d8b3cac2bd3b3898bb0d37555cf677a1e9d9160 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:50 -0600 -Subject: [PATCH 093/436] tracing: Account for variables in named trigger +Subject: [PATCH 093/437] tracing: Account for variables in named trigger compatibility Named triggers must also have the same set of variables in order to be diff --git a/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch b/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch index 4e3ddc722..1f999945e 100644 --- a/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch +++ b/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch @@ -1,7 +1,7 @@ -From 0323a396cb4b6da8c82e5b88603ffdb5e2139cb4 Mon Sep 17 00:00:00 2001 +From 01d1a46a1261ddc3dd9342e975f4ec39a2da543d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:51 -0600 -Subject: [PATCH 094/436] tracing: Move get_hist_field_flags() +Subject: [PATCH 094/437] tracing: Move get_hist_field_flags() Move get_hist_field_flags() to make it more easily accessible for new code (and keep the move separate from new functionality). diff --git a/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch b/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch index a6d7f885a..c3b70bddd 100644 --- a/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch +++ b/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch @@ -1,7 +1,7 @@ -From abe8b5676b0a285193017fdd3ef7074af9cf9144 Mon Sep 17 00:00:00 2001 +From f7d4aeb6cc78f11fa4826c0d18b2807c976f4aee Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:52 -0600 -Subject: [PATCH 095/436] tracing: Add simple expression support to hist +Subject: [PATCH 095/437] tracing: Add simple expression support to hist triggers Add support for simple addition, subtraction, and unary expressions diff --git a/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch b/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch index d557f3bd2..a46b55297 100644 --- a/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch +++ b/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch @@ -1,7 +1,7 @@ -From 1fa62aedf355bf31958cfd401a0a1185e009e0c5 Mon Sep 17 00:00:00 2001 +From c3de8611575e0e51050210b128f9340bb006964a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:53 -0600 -Subject: [PATCH 096/436] tracing: Generalize per-element hist trigger data +Subject: [PATCH 096/437] tracing: Generalize per-element hist trigger data Up until now, hist triggers only needed per-element support for saving 'comm' data, which was saved directly as a private data pointer. diff --git a/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch b/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch index da619ee4d..7a043e633 100644 --- a/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch +++ b/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch @@ -1,7 +1,7 @@ -From 6b074ce3e9421503cffe9170fd52b3b7cbc7252a Mon Sep 17 00:00:00 2001 +From d2ce1d4ffafada6db4b9b4f8fe5561f40cb03b76 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:54 -0600 -Subject: [PATCH 097/436] tracing: Pass tracing_map_elt to hist_field accessor +Subject: [PATCH 097/437] tracing: Pass tracing_map_elt to hist_field accessor functions Some accessor functions, such as for variable references, require diff --git a/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch b/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch index 2c91d1a69..8f2171919 100644 --- a/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch +++ b/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch @@ -1,7 +1,7 @@ -From 6cb2467eeb17c39e6c2ba5423d6ed8331d5575d4 Mon Sep 17 00:00:00 2001 +From d333c65c795cde2de88f5759101bc29c36058992 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:55 -0600 -Subject: [PATCH 098/436] tracing: Add hist_field 'type' field +Subject: [PATCH 098/437] tracing: Add hist_field 'type' field Future support for synthetic events requires hist_field 'type' information, so add a field for that. diff --git a/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch b/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch index 3540971b5..94668239f 100644 --- a/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch +++ b/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch @@ -1,7 +1,7 @@ -From 4237736e5974d0768349dea6743014d1c43585c6 Mon Sep 17 00:00:00 2001 +From ba702b3dad3b6d3b50caac695d99bf3e30e34199 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:56 -0600 -Subject: [PATCH 099/436] tracing: Add variable reference handling to hist +Subject: [PATCH 099/437] tracing: Add variable reference handling to hist triggers Add the necessary infrastructure to allow the variables defined on one diff --git a/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch b/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch index 3ea84e93d..3ea56859c 100644 --- a/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch +++ b/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch @@ -1,7 +1,7 @@ -From 19fe267475a8ace8e7c956afd52aa0bf08544bf7 Mon Sep 17 00:00:00 2001 +From bc65875eba8adfc360b79baf7cc2772354f4824a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:57 -0600 -Subject: [PATCH 100/436] tracing: Add hist trigger action hook +Subject: [PATCH 100/437] tracing: Add hist trigger action hook Add a hook for executing extra actions whenever a histogram entry is added or updated. diff --git a/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch b/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch index d43f52d41..34b8c43c4 100644 --- a/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch +++ b/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch @@ -1,7 +1,7 @@ -From 68c2c1e228e2efebb161158734459a087d0428a0 Mon Sep 17 00:00:00 2001 +From 77030dc4867f01af9cd39df8c2a82dd3c4649d44 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:58 -0600 -Subject: [PATCH 101/436] tracing: Add support for 'synthetic' events +Subject: [PATCH 101/437] tracing: Add support for 'synthetic' events Synthetic events are user-defined events generated from hist trigger variables saved from one or more other events. diff --git a/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch b/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch index 04a7036b6..83d277000 100644 --- a/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch +++ b/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch @@ -1,7 +1,7 @@ -From 865ca9e1850ddb841fd1ff936a8e51e6ba5eb8a9 Mon Sep 17 00:00:00 2001 +From 3b2d1998cf77761cff9598925362a9ca0c1b9f93 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:59 -0600 -Subject: [PATCH 102/436] tracing: Add support for 'field variables' +Subject: [PATCH 102/437] tracing: Add support for 'field variables' Users should be able to directly specify event fields in hist trigger 'actions' rather than being forced to explicitly create a variable for diff --git a/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch b/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch index cf54c24df..4f81d3460 100644 --- a/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch +++ b/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch @@ -1,7 +1,7 @@ -From 2dbfbab7c44a39a4fb7a47460b35f12d4cb50201 Mon Sep 17 00:00:00 2001 +From a4960078e4a0625bb9f468116b19e35061558a33 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:00 -0600 -Subject: [PATCH 103/436] tracing: Add 'onmatch' hist trigger action support +Subject: [PATCH 103/437] tracing: Add 'onmatch' hist trigger action support Add an 'onmatch(matching.event).(param list)' hist trigger action which is invoked with the set of variables or diff --git a/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch b/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch index 54a60b60b..987ea0b01 100644 --- a/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch +++ b/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch @@ -1,7 +1,7 @@ -From 5ca937656167a21fece6acbddd6ea557dfe5a31a Mon Sep 17 00:00:00 2001 +From 1f029483405f380bc7a8471acf036e7b54ff75ab Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:01 -0600 -Subject: [PATCH 104/436] tracing: Add 'onmax' hist trigger action support +Subject: [PATCH 104/437] tracing: Add 'onmax' hist trigger action support Add an 'onmax(var).save(field,...)' hist trigger action which is invoked whenever an event exceeds the current maximum. diff --git a/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch b/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch index d11fb78a6..7be5dd497 100644 --- a/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch +++ b/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch @@ -1,7 +1,7 @@ -From 55d9ed6e59a18aec68c89248940c2489ddd24a3d Mon Sep 17 00:00:00 2001 +From a5ced6a976d4455f445e4bdef011b38acf4f47e8 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:02 -0600 -Subject: [PATCH 105/436] tracing: Allow whitespace to surround hist trigger +Subject: [PATCH 105/437] tracing: Allow whitespace to surround hist trigger filter The existing code only allows for one space before and after the 'if' diff --git a/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch b/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch index cf8443eab..e9b825189 100644 --- a/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch @@ -1,7 +1,7 @@ -From a9925cc0e45790fdc670dcfdc7b6064cb1a6f6e1 Mon Sep 17 00:00:00 2001 +From 160df7fa3eacee8583ef796699bafa229cfb3cc5 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:03 -0600 -Subject: [PATCH 106/436] tracing: Add cpu field for hist triggers +Subject: [PATCH 106/437] tracing: Add cpu field for hist triggers A common key to use in a histogram is the cpuid - add a new cpu 'synthetic' field named 'cpu' for that purpose. diff --git a/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch b/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch index cc92b3a95..f7a86cf7e 100644 --- a/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch +++ b/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch @@ -1,7 +1,7 @@ -From af5faee58663cbd2b6a20aea33f072495fe650c3 Mon Sep 17 00:00:00 2001 +From 446b49d3adc44a040542385bd5efc52858a73cd3 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:04 -0600 -Subject: [PATCH 107/436] tracing: Add hist trigger support for variable +Subject: [PATCH 107/437] tracing: Add hist trigger support for variable reference aliases Add support for alias=$somevar where alias can be used as diff --git a/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch b/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch index 227b5e06d..4321768ec 100644 --- a/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch +++ b/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch @@ -1,7 +1,7 @@ -From 875365c2c5a870265396449d1858494b4783b022 Mon Sep 17 00:00:00 2001 +From be1cdd9536bb6be78ddaa8a461955dc5d701bfc1 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:05 -0600 -Subject: [PATCH 108/436] tracing: Add 'last error' error facility for hist +Subject: [PATCH 108/437] tracing: Add 'last error' error facility for hist triggers With the addition of variables and actions, it's become necessary to diff --git a/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch b/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch index b24050c11..89a6efdd1 100644 --- a/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch +++ b/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch @@ -1,7 +1,7 @@ -From fb7ee3959928518c8ee7e1d81a27288b679a74a9 Mon Sep 17 00:00:00 2001 +From d3c22a59774ab35444d4c5958df90ced8600758a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:06 -0600 -Subject: [PATCH 109/436] tracing: Add inter-event hist trigger Documentation +Subject: [PATCH 109/437] tracing: Add inter-event hist trigger Documentation Add background and details on inter-event hist triggers, including hist variables, synthetic events, and actions. diff --git a/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch b/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch index 37fe59cc7..e4cfedd8d 100644 --- a/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch +++ b/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch @@ -1,7 +1,7 @@ -From da3ea9faf9b6da9fd4e68c5c73d7d734d0809f3f Mon Sep 17 00:00:00 2001 +From 6987f618fe9c279ef6bcfb0a9a1a37007a8e85d5 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:07 -0600 -Subject: [PATCH 110/436] tracing: Make tracing_set_clock() non-static +Subject: [PATCH 110/437] tracing: Make tracing_set_clock() non-static Allow tracing code outside of trace.c to access tracing_set_clock(). diff --git a/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch b/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch index 291b3a3c2..c256d7232 100644 --- a/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch @@ -1,7 +1,7 @@ -From ce3bbe59da7cf5a2dfd2ff1a5b223f90d94e25dc Mon Sep 17 00:00:00 2001 +From 89005b6d25c813eb854b61e5b6bdb950214107ce Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:08 -0600 -Subject: [PATCH 111/436] tracing: Add a clock attribute for hist triggers +Subject: [PATCH 111/437] tracing: Add a clock attribute for hist triggers The default clock if timestamps are used in a histogram is "global". If timestamps aren't used, the clock is irrelevant. diff --git a/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch b/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch index b29220e3a..a6f7d9f6f 100644 --- a/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch +++ b/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch @@ -1,7 +1,7 @@ -From 6f0cc81bad1700b16b20163030de45386f27c9d5 Mon Sep 17 00:00:00 2001 +From 93f30f296ca22bd9468ca86e1d0b2a8873adfaf2 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Mon, 15 Jan 2018 10:47:09 -0500 -Subject: [PATCH 112/436] ring-buffer: Bring back context level recursive +Subject: [PATCH 112/437] ring-buffer: Bring back context level recursive checks Commit 1a149d7d3f45 ("ring-buffer: Rewrite trace_recursive_(un)lock() to be diff --git a/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch b/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch index 57abe9479..d2e05b697 100644 --- a/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch +++ b/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch @@ -1,7 +1,7 @@ -From a51f1d6202dd947639db67db099924528f58a22b Mon Sep 17 00:00:00 2001 +From 158c7e6197471e64b5d8b70c580808803b5383c5 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Thu, 18 Jan 2018 15:42:09 -0500 -Subject: [PATCH 113/436] ring-buffer: Fix duplicate results in mapping context +Subject: [PATCH 113/437] ring-buffer: Fix duplicate results in mapping context to bits in recursive lock In bringing back the context checks, the code checks first if its normal diff --git a/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch b/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch index 40f27d884..4db64babb 100644 --- a/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch +++ b/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch @@ -1,7 +1,7 @@ -From d004f6c3f6d12eec7721d5d42d69feb6696cb6c7 Mon Sep 17 00:00:00 2001 +From 55a309475692c9c88440298c8c02d9f4e9e581c6 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 7 Feb 2018 17:26:32 -0500 -Subject: [PATCH 114/436] ring-buffer: Add nesting for adding events within +Subject: [PATCH 114/437] ring-buffer: Add nesting for adding events within events The ring-buffer code has recusion protection in case tracing ends up tracing diff --git a/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch b/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch index a8637f81f..e1e753b3a 100644 --- a/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch +++ b/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch @@ -1,7 +1,7 @@ -From 6d511323ae75cf782bd64bf776aea87ce170a541 Mon Sep 17 00:00:00 2001 +From cfbff455010bbddb3772e6d9cde753fb717c1ee6 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 7 Feb 2018 17:29:46 -0500 -Subject: [PATCH 115/436] tracing: Use the ring-buffer nesting to allow +Subject: [PATCH 115/437] tracing: Use the ring-buffer nesting to allow synthetic events to be traced Synthetic events can be done within the recording of other events. Notify diff --git a/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch b/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch index c5e27fa9b..6bae7714c 100644 --- a/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch +++ b/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch @@ -1,7 +1,7 @@ -From 6fe1fa985a64a1973a5d17be022156fa098e21e5 Mon Sep 17 00:00:00 2001 +From ba8152928d50e4c2a175f81f2035f5f79e05c1ab Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:10 -0600 -Subject: [PATCH 116/436] tracing: Add inter-event blurb to HIST_TRIGGERS +Subject: [PATCH 116/437] tracing: Add inter-event blurb to HIST_TRIGGERS config option So that users know that inter-event tracing is supported as part of diff --git a/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch b/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch index d9644a5cd..687a9f077 100644 --- a/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch +++ b/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch @@ -1,7 +1,7 @@ -From eef7d771c2194d81bffe450ec81eed252987ad25 Mon Sep 17 00:00:00 2001 +From aa0c1808950ef2ac45c2653ca1180f828570980e Mon Sep 17 00:00:00 2001 From: Rajvi Jingar Date: Mon, 15 Jan 2018 20:52:11 -0600 -Subject: [PATCH 117/436] selftests: ftrace: Add inter-event hist triggers +Subject: [PATCH 117/437] selftests: ftrace: Add inter-event hist triggers testcases This adds inter-event hist triggers testcases which covers following: diff --git a/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch b/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch index fa757994d..5a857e378 100644 --- a/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch +++ b/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch @@ -1,7 +1,7 @@ -From c4df86ec70bdb2396440e02c8c2270aab4a98926 Mon Sep 17 00:00:00 2001 +From 85830476840c2e6ebbba8fe775453ab912e28934 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:53 -0500 -Subject: [PATCH 118/436] tracing: Fix display of hist trigger expressions +Subject: [PATCH 118/437] tracing: Fix display of hist trigger expressions containing timestamps When displaying hist triggers, variable references that have the diff --git a/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch b/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch index e6824d101..378e1581e 100644 --- a/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch +++ b/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch @@ -1,7 +1,7 @@ -From d9a119ca5a746c538efec299b1411c0487b89155 Mon Sep 17 00:00:00 2001 +From 97e2b4fc323a7076160c1930e2f5a35022ca3724 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:54 -0500 -Subject: [PATCH 119/436] tracing: Don't add flag strings when displaying +Subject: [PATCH 119/437] tracing: Don't add flag strings when displaying variable references Variable references should never have flags appended when displayed - diff --git a/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch b/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch index fc9fdb768..23c8235b3 100644 --- a/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch +++ b/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch @@ -1,7 +1,7 @@ -From 3b4e36bba1f2ed02851b9cc694710c0e25fddb36 Mon Sep 17 00:00:00 2001 +From e81731c6c75b86e46ce4ce026bcf274583814ef2 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:55 -0500 -Subject: [PATCH 120/436] tracing: Add action comparisons when testing matching +Subject: [PATCH 120/437] tracing: Add action comparisons when testing matching hist triggers Actions also need to be considered when checking for matching triggers diff --git a/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch b/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch index 85ce7b991..5a12c9213 100644 --- a/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch +++ b/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch @@ -1,7 +1,7 @@ -From 4a8851278c7a39af116600f9b0d0981b94c64239 Mon Sep 17 00:00:00 2001 +From 9ced88cdeba23ed45c15816a15c57b08b0fecdc4 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:56 -0500 -Subject: [PATCH 121/436] tracing: Make sure variable string fields are +Subject: [PATCH 121/437] tracing: Make sure variable string fields are NULL-terminated The strncpy() currently being used for variable string fields can diff --git a/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch b/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch index d932c296b..63e89ff4c 100644 --- a/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch +++ b/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch @@ -1,7 +1,7 @@ -From 317230d40d34c4bf01624a0a90bdc5276e8ff41b Mon Sep 17 00:00:00 2001 +From e8b31720561427506149812db62e949b6ca5e332 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:02 +0200 -Subject: [PATCH 122/436] block: Shorten interrupt disabled regions +Subject: [PATCH 122/437] block: Shorten interrupt disabled regions Moving the blk_sched_flush_plug() call out of the interrupt/preempt disabled region in the scheduler allows us to replace @@ -47,10 +47,10 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 6aa2bc4e9652..4ef7a87fa430 100644 +index 0b14aebfd1a8..9e3521c4431a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -3313,7 +3313,7 @@ static void queue_unplugged(struct request_queue *q, unsigned int depth, +@@ -3312,7 +3312,7 @@ static void queue_unplugged(struct request_queue *q, unsigned int depth, blk_run_queue_async(q); else __blk_run_queue(q); @@ -59,7 +59,7 @@ index 6aa2bc4e9652..4ef7a87fa430 100644 } static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule) -@@ -3361,7 +3361,6 @@ EXPORT_SYMBOL(blk_check_plugged); +@@ -3360,7 +3360,6 @@ EXPORT_SYMBOL(blk_check_plugged); void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) { struct request_queue *q; @@ -67,7 +67,7 @@ index 6aa2bc4e9652..4ef7a87fa430 100644 struct request *rq; LIST_HEAD(list); unsigned int depth; -@@ -3381,11 +3380,6 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) +@@ -3380,11 +3379,6 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) q = NULL; depth = 0; @@ -79,7 +79,7 @@ index 6aa2bc4e9652..4ef7a87fa430 100644 while (!list_empty(&list)) { rq = list_entry_rq(list.next); list_del_init(&rq->queuelist); -@@ -3398,7 +3392,7 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) +@@ -3397,7 +3391,7 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) queue_unplugged(q, depth, from_schedule); q = rq->q; depth = 0; @@ -88,7 +88,7 @@ index 6aa2bc4e9652..4ef7a87fa430 100644 } /* -@@ -3425,8 +3419,6 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) +@@ -3424,8 +3418,6 @@ void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) */ if (q) queue_unplugged(q, depth, from_schedule); diff --git a/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch b/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch index 5fa089d10..62a740c68 100644 --- a/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch +++ b/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch @@ -1,7 +1,7 @@ -From b2cea7d5b1270d58fa55fbe45765a377ad695ca4 Mon Sep 17 00:00:00 2001 +From b4dce15b1521980b9cc0c5a8dc8fda4569e2d986 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Feb 2013 22:36:59 +0100 -Subject: [PATCH 123/436] timekeeping: Split jiffies seqlock +Subject: [PATCH 123/437] timekeeping: Split jiffies seqlock Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so it can be taken in atomic context on RT. diff --git a/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch b/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch index a43cbbcec..8059aecef 100644 --- a/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch +++ b/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch @@ -1,7 +1,7 @@ -From ebc7e14e88eddad10be3e30e0546ea6243f30081 Mon Sep 17 00:00:00 2001 +From c8ee195989e8750fdd93991969e1254120e503f8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 29 Sep 2011 12:24:30 -0500 -Subject: [PATCH 124/436] tracing: Account for preempt off in +Subject: [PATCH 124/437] tracing: Account for preempt off in preempt_schedule() The preempt_schedule() uses the preempt_disable_notrace() version @@ -28,7 +28,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 40a07276d5a3..cca96e5a8263 100644 +index 590a3a396048..5b1a76112243 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3607,7 +3607,16 @@ asmlinkage __visible void __sched notrace preempt_schedule_notrace(void) diff --git a/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch b/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch index bb211864d..8e58750be 100644 --- a/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch +++ b/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch @@ -1,7 +1,7 @@ -From 711518899e437a7dfba11ec1aa8557b15d8d34df Mon Sep 17 00:00:00 2001 +From d29203fc540a74934cc20916290e65c691d53d25 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 -Subject: [PATCH 125/436] signal: Revert ptrace preempt magic +Subject: [PATCH 125/437] signal: Revert ptrace preempt magic Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more than a bandaid around the ptrace design trainwreck. It's not a @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 8 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 4439ba9dc5d9..2167e0407cbf 100644 +index 164c36ef0825..8ffd4fb0a0f2 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1888,15 +1888,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) diff --git a/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch b/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch index 0b70f5679..f0bd7e526 100644 --- a/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch +++ b/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch @@ -1,7 +1,7 @@ -From 5f250a5787d059efd6cb193b4d317fdf6cd7dfff Mon Sep 17 00:00:00 2001 +From 181e6d8c5d3fd3c3c6d751c64b3716e56dad29f3 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Mon, 19 Sep 2011 14:51:14 -0700 -Subject: [PATCH 126/436] arm: Convert arm boot_lock to raw +Subject: [PATCH 126/437] arm: Convert arm boot_lock to raw The arm boot_lock is used by the secondary processor startup code. The locking task is the idle thread, which has idle->sched_class == &idle_sched_class. diff --git a/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch b/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch index 3220ddbfe..c6d908b35 100644 --- a/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch +++ b/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch @@ -1,7 +1,7 @@ -From e48ddfb43013eb98d5cf357f3a0b7b65ae106edc Mon Sep 17 00:00:00 2001 +From e9331a157470378a4524092971a16d10c3e9fd64 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Thu, 10 Nov 2016 16:17:55 -0800 -Subject: [PATCH 127/436] arm: kprobe: replace patch_lock to raw lock +Subject: [PATCH 127/437] arm: kprobe: replace patch_lock to raw lock When running kprobe on -rt kernel, the below bug is caught: diff --git a/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch b/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch index 5a2bf7388..8ada686dc 100644 --- a/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch +++ b/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch @@ -1,7 +1,7 @@ -From dd377535e4f45dbd1c3d0afccdafee1c7819868c Mon Sep 17 00:00:00 2001 +From 049f419be39f57dbd0ae2b8f71b282a2c28f7821 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:29:20 -0500 -Subject: [PATCH 128/436] posix-timers: Prevent broadcast signals +Subject: [PATCH 128/437] posix-timers: Prevent broadcast signals Posix timers should not send broadcast signals and kernel only signals. Prevent it. diff --git a/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch index 7c5d0daff..3b137ec57 100644 --- a/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch +++ b/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch @@ -1,7 +1,7 @@ -From b69917075c84524abe220f296d74ec434dd26e0b Mon Sep 17 00:00:00 2001 +From 818da71ff388a006767feb2a8332b9fc3f80766e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 129/436] signals: Allow rt tasks to cache one sigqueue struct +Subject: [PATCH 129/437] signals: Allow rt tasks to cache one sigqueue struct To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index c22e7b475dd9..789e690fdade 100644 +index b0390902a36f..92f7f58d44f6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -828,6 +828,8 @@ struct task_struct { @@ -29,7 +29,7 @@ index c22e7b475dd9..789e690fdade 100644 sigset_t real_blocked; /* Restored if set_restore_sigmask() was used: */ diff --git a/include/linux/signal.h b/include/linux/signal.h -index 042968dd98f0..a7d20f85cc0e 100644 +index 843bd62b1ead..5d6a2206157a 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h @@ -243,6 +243,7 @@ static inline void init_sigpending(struct sigpending *sig) @@ -66,7 +66,7 @@ index d45043432b17..c66167f0bba6 100644 p->utime = p->stime = p->gtime = 0; #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME diff --git a/kernel/signal.c b/kernel/signal.c -index 2167e0407cbf..67354e467778 100644 +index 8ffd4fb0a0f2..ca7de0d8a4bd 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -19,6 +19,7 @@ diff --git a/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch b/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch index 73e3c5d1b..d5b799212 100644 --- a/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch +++ b/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch @@ -1,7 +1,7 @@ -From 156ad8f7bc364f3d0e21668c0200a0aac0ffa751 Mon Sep 17 00:00:00 2001 +From 3931903ca419f65c45ab81f67443109aa1bde3cd Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 130/436] drivers: random: Reduce preempt disabled region +Subject: [PATCH 130/437] drivers: random: Reduce preempt disabled region No need to keep preemption disabled across the whole function. diff --git a/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch b/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch index f1987e6a1..490fae2a3 100644 --- a/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch +++ b/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch @@ -1,7 +1,7 @@ -From a754559af4b486fa13a446733251f5a539c169a6 Mon Sep 17 00:00:00 2001 +From fbd024901d7a248f536fd9d5c81f1c432af909ba Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Sat, 6 Mar 2010 17:47:10 +0100 -Subject: [PATCH 131/436] ARM: AT91: PIT: Remove irq handler when clock event +Subject: [PATCH 131/437] ARM: AT91: PIT: Remove irq handler when clock event is unused MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch b/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch index 5af9a8fa0..d24dde78c 100644 --- a/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch +++ b/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch @@ -1,7 +1,7 @@ -From 6f7c786703368a05f805480bfe65a6c5103500f4 Mon Sep 17 00:00:00 2001 +From 91b17ba12ebd2ebc2dff1cb0a5a46eb25b842acb Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 17 Mar 2016 21:09:43 +0100 -Subject: [PATCH 132/436] clockevents/drivers/timer-atmel-pit: fix double +Subject: [PATCH 132/437] clockevents/drivers/timer-atmel-pit: fix double free_irq clockevents_exchange_device() changes the state from detached to shutdown diff --git a/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch b/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch index 063277670..09aef0115 100644 --- a/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch +++ b/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch @@ -1,7 +1,7 @@ -From 24f3854918934adf27a2a7ca5ff46bea60464c0a Mon Sep 17 00:00:00 2001 +From 529e93f4547812493d1b1cd7add36cf38d43ee8c Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Mon, 8 Mar 2010 18:57:04 +0100 -Subject: [PATCH 133/436] clocksource: TCLIB: Allow higher clock rates for +Subject: [PATCH 133/437] clocksource: TCLIB: Allow higher clock rates for clock events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch b/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch index a50b96661..94bfd9c9a 100644 --- a/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch +++ b/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch @@ -1,7 +1,7 @@ -From 054e0b138ca43c17dccdc89095f7562d6d466ad4 Mon Sep 17 00:00:00 2001 +From 41e3862e0041d35d44320b4401863707d4798640 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 15 Jul 2010 10:29:00 +0200 -Subject: [PATCH 134/436] suspend: Prevent might sleep splats +Subject: [PATCH 134/437] suspend: Prevent might sleep splats timekeeping suspend/resume calls read_persistant_clock() which takes rtc_lock. That results in might sleep warnings because at that point diff --git a/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch b/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch index 1039a0fd9..ad4313b54 100644 --- a/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch +++ b/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch @@ -1,7 +1,7 @@ -From c812edca17c7e584157617ab59bdbbbe3c4456ee Mon Sep 17 00:00:00 2001 +From 57a08f446fd23ab42ab8ea35776be5c7a71f18d8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 10:59:58 +0200 -Subject: [PATCH 135/436] net-flip-lock-dep-thingy.patch +Subject: [PATCH 135/437] net-flip-lock-dep-thingy.patch ======================================================= [ INFO: possible circular locking dependency detected ] @@ -95,7 +95,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c -index 68d08ed5521e..ee242ff5d4b1 100644 +index 36f19458e2fe..244f6fda0a96 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -2757,12 +2757,11 @@ void lock_sock_nested(struct sock *sk, int subclass) diff --git a/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch b/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch index d78f72c19..65465bb6f 100644 --- a/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch +++ b/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch @@ -1,7 +1,7 @@ -From 9354b4b1bd04068ad21f30b2872e46a111ff3e82 Mon Sep 17 00:00:00 2001 +From a1414bad7091191aa9dbf3dcc59a2253cf85a967 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 5 Mar 2014 00:49:47 +0100 -Subject: [PATCH 136/436] net: sched: Use msleep() instead of yield() +Subject: [PATCH 136/437] net: sched: Use msleep() instead of yield() On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50 (by default). If a high priority userspace process tries to shut down a busy diff --git a/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch b/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch index cd42cc7a1..9dabda710 100644 --- a/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch +++ b/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch @@ -1,7 +1,7 @@ -From dff0c99b1bfd7fc459ffe68b240fca8b23e25098 Mon Sep 17 00:00:00 2001 +From ece96931ab4b21f8f5aaf666daff565b49dbc11a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 137/436] net/core: disable NET_RX_BUSY_POLL +Subject: [PATCH 137/437] net/core: disable NET_RX_BUSY_POLL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch b/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch index 8d89e5a25..4f79da967 100644 --- a/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch +++ b/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch @@ -1,7 +1,7 @@ -From f113182e79279d5ccb4bbcceadfe4e6189a3dc41 Mon Sep 17 00:00:00 2001 +From 645a7c79aa4e0503fccfa644355244eb9ce8c608 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:27 -0500 -Subject: [PATCH 138/436] x86/ioapic: Do not unmask io_apic when interrupt is +Subject: [PATCH 138/437] x86/ioapic: Do not unmask io_apic when interrupt is in progress With threaded interrupts we might see an interrupt in progress on diff --git a/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch b/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch index 9891e5398..dcec95f5f 100644 --- a/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch +++ b/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch @@ -1,7 +1,7 @@ -From 32cffb44d53ed4df4dd3a0a6784f7c91fc22ee83 Mon Sep 17 00:00:00 2001 +From 9b94ddb647d12f1d2f18a8755e81ec0ee2455615 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 22 Sep 2017 15:01:46 +0200 -Subject: [PATCH 139/436] rcu/segcblist: include rcupdate.h +Subject: [PATCH 139/437] rcu/segcblist: include rcupdate.h The RT build on ARM complains about non-existing ULONG_CMP_LT. Since rcu_segcblist.c uses that macro it should include the header file. diff --git a/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch b/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch index 7bc786b6e..425f8d82b 100644 --- a/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch +++ b/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch @@ -1,7 +1,7 @@ -From 0444a41e2992a48ec98f64fcdf28e25af76d70a7 Mon Sep 17 00:00:00 2001 +From 869184fcf821740992b214c288086e33015cb19f Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 22 Jul 2011 17:58:40 +0200 -Subject: [PATCH 140/436] printk: Add a printk kill switch +Subject: [PATCH 140/437] printk: Add a printk kill switch Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that it does not dead-lock with the early printk code. @@ -31,10 +31,10 @@ index 6106befed756..1dba9cb7b91b 100644 #ifdef CONFIG_PRINTK_NMI diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index f0223a7d9ed1..fec67b9d0fad 100644 +index a9cf2e15f6a3..9c946617baae 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1872,26 +1872,6 @@ static bool suppress_message_printing(int level) { return false; } +@@ -1884,26 +1884,6 @@ static bool suppress_message_printing(int level) { return false; } #endif /* CONFIG_PRINTK */ diff --git a/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch b/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch index 84ee3ce37..479150f0b 100644 --- a/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch +++ b/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch @@ -1,7 +1,7 @@ -From 268db007a6d5215a7a8aa64941be10626c368277 Mon Sep 17 00:00:00 2001 +From 76ae4b91ab3d2aacab8be15d1c91bd577fc022d6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:41:29 +0200 -Subject: [PATCH 141/436] printk: Add "force_early_printk" boot param to help +Subject: [PATCH 141/437] printk: Add "force_early_printk" boot param to help with debugging Gives me an option to screw printk and actually see what the machine diff --git a/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch b/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch index 49d338e2b..a508bda77 100644 --- a/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch +++ b/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch @@ -1,7 +1,7 @@ -From 1a1a00a3d2ef45a80c7bdebb101f7ac34c112b29 Mon Sep 17 00:00:00 2001 +From 717512fc9eab7c6cb0118225b738f702c4ab7c23 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 12:39:57 +0200 -Subject: [PATCH 142/436] rt: Provide PREEMPT_RT_BASE config switch +Subject: [PATCH 142/437] rt: Provide PREEMPT_RT_BASE config switch Introduce PREEMPT_RT_BASE which enables parts of PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT diff --git a/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch b/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch index 687ea0aec..6164e8d35 100644 --- a/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch +++ b/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch @@ -1,7 +1,7 @@ -From a0f8cbb80d6cc51785289968446c345a489cfbec Mon Sep 17 00:00:00 2001 +From 8d96e538d166cc8dbd5af0889b59e4bc82107bf7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 -Subject: [PATCH 143/436] kconfig: Disable config options which are not RT +Subject: [PATCH 143/437] kconfig: Disable config options which are not RT compatible Disable stuff which is known to have issues on RT @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/Kconfig b/arch/Kconfig -index 40dc31fea90c..7c6108479209 100644 +index 77b3e21c4844..69d6f3793ae7 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -20,6 +20,7 @@ config OPROFILE diff --git a/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch b/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch index fd0b11bb8..21d0a1859 100644 --- a/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch +++ b/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch @@ -1,7 +1,7 @@ -From f085e4c2683f07bd9d41fff4a515f3f21c41c5e3 Mon Sep 17 00:00:00 2001 +From 5a5f5c742ce8e4fd3f596a06fca0e44e9fe20d23 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 14:58:57 +0200 -Subject: [PATCH 144/436] kconfig: Add PREEMPT_RT_FULL +Subject: [PATCH 144/437] kconfig: Add PREEMPT_RT_FULL Introduce the final symbol for PREEMPT_RT_FULL. diff --git a/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch b/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch index 9d6175e65..ce0d33434 100644 --- a/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch +++ b/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch @@ -1,7 +1,7 @@ -From 149d80431b890a0c399b287300295e5d15e64aab Mon Sep 17 00:00:00 2001 +From e084dc8c43f540679c499857a086cf82206762bf Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 145/436] bug: BUG_ON/WARN_ON variants dependend on RT/!RT +Subject: [PATCH 145/437] bug: BUG_ON/WARN_ON variants dependend on RT/!RT Introduce RT/NON-RT WARN/BUG statements to avoid ifdefs in the code. diff --git a/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch b/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch index 1d8fb3349..837838ca3 100644 --- a/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch +++ b/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch @@ -1,7 +1,7 @@ -From 0ca497c4a9cf8e3eeb00e31decbb09708c0a31e4 Mon Sep 17 00:00:00 2001 +From 82f7c7f43cae44940e47867ef790f8f88cb748d5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 27 Feb 2016 10:22:23 +0100 -Subject: [PATCH 146/436] iommu/amd: Use WARN_ON_NORT in __attach_device() +Subject: [PATCH 146/437] iommu/amd: Use WARN_ON_NORT in __attach_device() RT does not disable interrupts here, but the protection is still correct. Fixup the WARN_ON so it won't yell on RT. diff --git a/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch b/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch index 2ead83222..7fd78a067 100644 --- a/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch +++ b/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch @@ -1,7 +1,7 @@ -From c8c78c5f0f61c1857c4ae7a0f8c3f423934f4420 Mon Sep 17 00:00:00 2001 +From ae3322916ba39450d3ea4f935ba2acaaf44ed5a9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:34:14 +0200 -Subject: [PATCH 147/436] rt: local_irq_* variants depending on RT/!RT +Subject: [PATCH 147/437] rt: local_irq_* variants depending on RT/!RT Add local_irq_*_(no)rt variant which are mainly used to break interrupt disabled sections on PREEMPT_RT or to explicitely disable diff --git a/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch b/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch index dab813a29..b6503c28b 100644 --- a/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch +++ b/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch @@ -1,7 +1,7 @@ -From a64ecd2b4b7f761a617877f87715965de0556fd3 Mon Sep 17 00:00:00 2001 +From 20d2e5cce1e67cdaac043ab7059a97a4982f8a93 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 -Subject: [PATCH 148/436] preempt: Provide preempt_*_(no)rt variants +Subject: [PATCH 148/437] preempt: Provide preempt_*_(no)rt variants RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. diff --git a/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch b/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch index 3bf5455f6..c5449be87 100644 --- a/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch +++ b/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch @@ -1,7 +1,7 @@ -From 72ff408c5dd654e799ed5bb32ee7b4417e587983 Mon Sep 17 00:00:00 2001 +From 409c9265b1416ec33879fac9864e727f03af4931 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Mar 2017 14:23:35 +0100 -Subject: [PATCH 149/436] futex: workaround migrate_disable/enable in different +Subject: [PATCH 149/437] futex: workaround migrate_disable/enable in different context migrate_disable()/migrate_enable() takes a different path in atomic() vs diff --git a/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch b/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch index 5a75d5016..867a03734 100644 --- a/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch +++ b/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch @@ -1,7 +1,7 @@ -From fb0f9bb9b954e78f1a19c9bcee67f2f351c6977c Mon Sep 17 00:00:00 2001 +From e7234d5db109fa4b37ca0d789f00217574e7648a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 -Subject: [PATCH 150/436] rt: Add local irq locks +Subject: [PATCH 150/437] rt: Add local irq locks Introduce locallock. For !RT this maps to preempt_disable()/ local_irq_disable() so there is not much that changes. For RT this will diff --git a/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch b/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch index fe4cffab2..47abab41c 100644 --- a/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch +++ b/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch @@ -1,7 +1,7 @@ -From 56cd4bae71375f55e490683b5d998dbe74e263ce Mon Sep 17 00:00:00 2001 +From d68b176c0966248883554b0d06bafdd2cfd9d4d6 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:29 -0500 -Subject: [PATCH 151/436] ata: Do not disable interrupts in ide code for +Subject: [PATCH 151/437] ata: Do not disable interrupts in ide code for preempt-rt Use the local_irq_*_nort variants. diff --git a/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch b/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch index 3bd33b285..bb2ea6486 100644 --- a/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch +++ b/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch @@ -1,7 +1,7 @@ -From fc0993f0ee39413d810477a2aa677179b5441693 Mon Sep 17 00:00:00 2001 +From ce0317fb2714be2be8d385ffc6ef8a19f2bbaee2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 152/436] ide: Do not disable interrupts for PREEMPT-RT +Subject: [PATCH 152/437] ide: Do not disable interrupts for PREEMPT-RT Use the local_irq_*_nort variants. diff --git a/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch b/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch index 74999e018..7739c6781 100644 --- a/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch +++ b/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch @@ -1,7 +1,7 @@ -From d4ed0fb28703c4b3ae5147ec4dc0b6f51541651b Mon Sep 17 00:00:00 2001 +From 46035933fcfd103832c6eb11a9916698716d0f28 Mon Sep 17 00:00:00 2001 From: Sven-Thorsten Dietrich Date: Fri, 3 Jul 2009 08:30:35 -0500 -Subject: [PATCH 153/436] infiniband: Mellanox IB driver patch use _nort() +Subject: [PATCH 153/437] infiniband: Mellanox IB driver patch use _nort() primitives Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT diff --git a/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch b/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch index 4f17cb28c..f7f42fac2 100644 --- a/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch +++ b/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch @@ -1,7 +1,7 @@ -From c0f28798a0a317fe5b47c3a849bf72acdb3a563d Mon Sep 17 00:00:00 2001 +From c92f8a1a659ebf3ba6fc7e5b3a3ae3aabd06bac9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 154/436] input: gameport: Do not disable interrupts on +Subject: [PATCH 154/437] input: gameport: Do not disable interrupts on PREEMPT_RT Use the _nort() primitives. diff --git a/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch b/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch index 388ddb379..00a99725d 100644 --- a/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch +++ b/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch @@ -1,7 +1,7 @@ -From 5847a15bd72cf81994654d64ba93c4b64ece5d4a Mon Sep 17 00:00:00 2001 +From 6c7fa9bfc7c152897b0b1315e412703262182259 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 23:06:05 +0200 -Subject: [PATCH 155/436] core: Do not disable interrupts on RT in +Subject: [PATCH 155/437] core: Do not disable interrupts on RT in kernel/users.c Use the local_irq_*_nort variants to reduce latencies in RT. The code diff --git a/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch b/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch index 319d33b6f..65a2edf26 100644 --- a/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch +++ b/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch @@ -1,7 +1,7 @@ -From 69491178150f4c6625391c189695398ca7e3e1ca Mon Sep 17 00:00:00 2001 +From ba9e47b77d0094bd6f1dd284baa481243aec2960 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 8 Nov 2013 17:34:54 +0100 -Subject: [PATCH 156/436] usb: Use _nort in giveback function +Subject: [PATCH 156/437] usb: Use _nort in giveback function Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet context") I see diff --git a/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch b/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch index 56d0291d5..a588c9a07 100644 --- a/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch @@ -1,7 +1,7 @@ -From 48452bcdf2638533efefd544e016aaf3afbe5edd Mon Sep 17 00:00:00 2001 +From 6206e047bf80aa247ee5c84e46c44d067f69e0e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 -Subject: [PATCH 157/436] mm/scatterlist: Do not disable irqs on RT +Subject: [PATCH 157/437] mm/scatterlist: Do not disable irqs on RT For -RT it is enough to keep pagefault disabled (which is currently handled by kmap_atomic()). diff --git a/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch b/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch index d3248c65d..fe014a718 100644 --- a/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch +++ b/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch @@ -1,7 +1,7 @@ -From b779b40acf479c5a3e7e021aa32753d508a94c3d Mon Sep 17 00:00:00 2001 +From 3ea1ded21463a93bb065b5f50e6d391b0ec3f891 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Jan 2015 17:19:44 +0100 -Subject: [PATCH 158/436] mm/workingset: Do not protect workingset_shadow_nodes +Subject: [PATCH 158/437] mm/workingset: Do not protect workingset_shadow_nodes with irq off workingset_shadow_nodes is protected by local_irq_disable(). Some users @@ -83,7 +83,7 @@ index e2e738cc08b1..c47070dae8b9 100644 if (shadow) { mapping->nrexceptional += nr; diff --git a/mm/truncate.c b/mm/truncate.c -index 2330223841fb..d0c8e6c8fef5 100644 +index d3a2737cc188..a25891e3d066 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -41,8 +41,10 @@ static void clear_shadow_entry(struct address_space *mapping, pgoff_t index, diff --git a/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch b/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch index 7a1dc386d..b98b7b737 100644 --- a/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch @@ -1,7 +1,7 @@ -From c77078c084825bfd4f58bc740560d8a57ac2072c Mon Sep 17 00:00:00 2001 +From ec5ba6046970ae761880bcaa018816a13370ccff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Jul 2011 08:07:08 +0200 -Subject: [PATCH 159/436] signal: Make __lock_task_sighand() RT aware +Subject: [PATCH 159/437] signal: Make __lock_task_sighand() RT aware local_irq_save() + spin_lock(&sighand->siglock) does not work on -RT. Use the nort variants. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 67354e467778..d02e38f75170 100644 +index ca7de0d8a4bd..374d60ea3699 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1301,12 +1301,12 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, diff --git a/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch b/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch index f080ca301..17565bccc 100644 --- a/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch +++ b/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch @@ -1,7 +1,7 @@ -From e56a80b4cfb84871aaece2a4f0e3e48346c30105 Mon Sep 17 00:00:00 2001 +From 4961b4ad4cf8bba0c6e80477f4d0045c51f3f2c1 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 160/436] signal/x86: Delay calling signals in atomic +Subject: [PATCH 160/437] signal/x86: Delay calling signals in atomic On x86_64 we must disable preemption before we enable interrupts for stack faults, int3 and debugging, because the current task is using @@ -79,7 +79,7 @@ index 5f9012ff52ed..7c7846cbab45 100644 typedef sigset_t compat_sigset_t; #endif diff --git a/include/linux/sched.h b/include/linux/sched.h -index 789e690fdade..620d9703a125 100644 +index 92f7f58d44f6..a7d48ad0fb96 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -835,6 +835,10 @@ struct task_struct { @@ -94,7 +94,7 @@ index 789e690fdade..620d9703a125 100644 size_t sas_ss_size; unsigned int sas_ss_flags; diff --git a/kernel/signal.c b/kernel/signal.c -index d02e38f75170..d8f75a030292 100644 +index 374d60ea3699..c6266045e1b3 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1237,8 +1237,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, diff --git a/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch b/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch index f5ec98a79..b942b6426 100644 --- a/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch +++ b/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch @@ -1,7 +1,7 @@ -From 48095cfa3c1fed248e05fd3bccac285077201a13 Mon Sep 17 00:00:00 2001 +From ac824740da3271352df385fb547448c4258b9b5a Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Thu, 10 Dec 2015 10:58:51 -0800 -Subject: [PATCH 161/436] x86/signal: delay calling signals on 32bit +Subject: [PATCH 161/437] x86/signal: delay calling signals on 32bit When running some ptrace single step tests on x86-32 machine, the below problem is triggered: diff --git a/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch b/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch index b82be1bb9..1c24b09d0 100644 --- a/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch +++ b/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch @@ -1,7 +1,7 @@ -From 186c244e2db25496adc2afcc96cbae291fca21c6 Mon Sep 17 00:00:00 2001 +From e67f22f5ef343a0b326e6c4dbe735c50c43fa69e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:05:33 +0200 -Subject: [PATCH 162/436] net/wireless: Use WARN_ON_NORT() +Subject: [PATCH 162/437] net/wireless: Use WARN_ON_NORT() The softirq counter is meaningless on RT, so the check triggers a false positive. diff --git a/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch b/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch index cecb473c1..30f812abc 100644 --- a/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch +++ b/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch @@ -1,7 +1,7 @@ -From b14cbfff8def4978e085b7556deebe8ac0a531ca Mon Sep 17 00:00:00 2001 +From a150441aac2b4e46aac03643590279186690bd8c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 09:18:52 +0100 -Subject: [PATCH 163/436] buffer_head: Replace bh_uptodate_lock for -rt +Subject: [PATCH 163/437] buffer_head: Replace bh_uptodate_lock for -rt Wrap the bit_spin_lock calls into a separate inline and add the RT replacements with a real spinlock. diff --git a/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch b/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch index 3329e3211..30fdba413 100644 --- a/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch +++ b/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch @@ -1,7 +1,7 @@ -From 49fbd1426be14b0f181d0aef09462e23301e0e02 Mon Sep 17 00:00:00 2001 +From 9aef918d94f719307028a7cf9c94cae820ca712e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:11:25 +0100 -Subject: [PATCH 164/436] fs: jbd/jbd2: Make state lock and journal head lock +Subject: [PATCH 164/437] fs: jbd/jbd2: Make state lock and journal head lock rt safe bit_spin_locks break under RT. diff --git a/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch b/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch index 3d4fe7924..be2e40dfb 100644 --- a/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch +++ b/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch @@ -1,7 +1,7 @@ -From 41d5a817b466ae7b1217f69e401f45bbc7b60a9f Mon Sep 17 00:00:00 2001 +From 1e16a8872db9416915db9a87254e95be8a2d5235 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Fri, 21 Jun 2013 15:07:25 -0400 -Subject: [PATCH 165/436] list_bl: Make list head locking RT safe +Subject: [PATCH 165/437] list_bl: Make list head locking RT safe As per changes in include/linux/jbd_common.h for avoiding the bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal diff --git a/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch b/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch index 268b94a87..990979ba5 100644 --- a/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch +++ b/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch @@ -1,7 +1,7 @@ -From 597226eefed59b5efc3b4fecad52f6d7d0207432 Mon Sep 17 00:00:00 2001 +From 1b38bd241ee47e3750c0dce98360f53cb2180acd Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 31 Mar 2016 00:04:25 -0500 -Subject: [PATCH 166/436] list_bl: fixup bogus lockdep warning +Subject: [PATCH 166/437] list_bl: fixup bogus lockdep warning At first glance, the use of 'static inline' seems appropriate for INIT_HLIST_BL_HEAD(). diff --git a/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch b/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch index 323ac871d..d38989591 100644 --- a/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch @@ -1,7 +1,7 @@ -From 0a4033fb69e4c3bdfe72bf175256eca8ed493f7f Mon Sep 17 00:00:00 2001 +From 2df832c6644a848e7f2cdf936badb72358a8daf4 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 -Subject: [PATCH 167/436] genirq: Disable irqpoll on -rt +Subject: [PATCH 167/437] genirq: Disable irqpoll on -rt Creates long latencies for no value diff --git a/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch b/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch index fa91c7b30..4061a1c8b 100644 --- a/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch @@ -1,7 +1,7 @@ -From 9668ed34ed80aa6c68f3fe38ee15975dd71a295a Mon Sep 17 00:00:00 2001 +From 2d09d245af35a2bb5b8ca6f92a26caf052e38ff6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 -Subject: [PATCH 168/436] genirq: Force interrupt thread on RT +Subject: [PATCH 168/437] genirq: Force interrupt thread on RT Force threaded_irqs and optimize the code (force_irqthreads) in regard to this. @@ -32,7 +32,7 @@ index 2957da07e967..2395ebb443b9 100644 #ifndef __ARCH_SET_SOFTIRQ_PENDING diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 069311541577..0dc9ef91898a 100644 +index 4cd85870f00e..f9934b6d879e 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -24,6 +24,7 @@ diff --git a/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch b/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch index f097648d6..078958a4d 100644 --- a/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch +++ b/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch @@ -1,7 +1,7 @@ -From b2301f5f04dc4ebb34993449958f8527e44f5cb3 Mon Sep 17 00:00:00 2001 +From 4ee19b026a3e2b969b5da2f55cfee5122768a715 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 169/436] drivers/net: vortex fix locking issues +Subject: [PATCH 169/437] drivers/net: vortex fix locking issues Argh, cut and paste wasn't enough... diff --git a/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch b/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch index 25da9f538..b817a9d74 100644 --- a/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch +++ b/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch @@ -1,7 +1,7 @@ -From c2abc19756ef4fffddc0767b273bcd3f34d19beb Mon Sep 17 00:00:00 2001 +From 6a175195d8db76416b4661a50698f69c190af5bc Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 170/436] mm: page_alloc: rt-friendly per-cpu pages +Subject: [PATCH 170/437] mm: page_alloc: rt-friendly per-cpu pages rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index a604b5da6755..200abf5dc616 100644 +index 2074f424dabf..7316ae31df8e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -61,6 +61,7 @@ @@ -197,7 +197,7 @@ index a604b5da6755..200abf5dc616 100644 return NULL; } -@@ -7690,7 +7713,7 @@ void zone_pcp_reset(struct zone *zone) +@@ -7688,7 +7711,7 @@ void zone_pcp_reset(struct zone *zone) struct per_cpu_pageset *pset; /* avoid races with drain_pages() */ @@ -206,7 +206,7 @@ index a604b5da6755..200abf5dc616 100644 if (zone->pageset != &boot_pageset) { for_each_online_cpu(cpu) { pset = per_cpu_ptr(zone->pageset, cpu); -@@ -7699,7 +7722,7 @@ void zone_pcp_reset(struct zone *zone) +@@ -7697,7 +7720,7 @@ void zone_pcp_reset(struct zone *zone) free_percpu(zone->pageset); zone->pageset = &boot_pageset; } diff --git a/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch b/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch index 930e5c3b5..d96339d61 100644 --- a/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch +++ b/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch @@ -1,7 +1,7 @@ -From 556fd5894dd0bd25c02abbffc69ca43829fcf498 Mon Sep 17 00:00:00 2001 +From 1e26ee0addd811f0636a8102a08e24950acc413d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:37 -0500 -Subject: [PATCH 171/436] mm: page_alloc: Reduce lock sections further +Subject: [PATCH 171/437] mm: page_alloc: Reduce lock sections further Split out the pages which are to be freed into a separate list and call free_pages_bulk() outside of the percpu page allocator locks. @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 65 insertions(+), 28 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 200abf5dc616..fe4d0543ba1b 100644 +index 7316ae31df8e..ca19f55de422 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1107,7 +1107,7 @@ static bool bulkfree_pcp_prepare(struct page *page) diff --git a/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch b/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch index 47f3015e1..8702d7a0b 100644 --- a/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch +++ b/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch @@ -1,7 +1,7 @@ -From 5411e0957cd5b2c2e8e14d7a4de4be282e96580c Mon Sep 17 00:00:00 2001 +From 8e72aa5e0f006652d1fb3714091b616675754693 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:51 -0500 -Subject: [PATCH 172/436] mm/swap: Convert to percpu locked +Subject: [PATCH 172/437] mm/swap: Convert to percpu locked Replace global locks (get_cpu + local_irq_save) with "local_locks()". Currently there is one of for "rotate" and one for "swap". @@ -47,10 +47,10 @@ index 85395dc6eb13..d6c8ed009e93 100644 cc->last_migrated_pfn = 0; } diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index fe4d0543ba1b..52bcb2af5824 100644 +index ca19f55de422..cd81e08bb504 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6845,8 +6845,9 @@ void __init free_area_init(unsigned long *zones_size) +@@ -6843,8 +6843,9 @@ void __init free_area_init(unsigned long *zones_size) static int page_alloc_cpu_dead(unsigned int cpu) { diff --git a/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch b/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch index 2d27353aa..34d2cf9c6 100644 --- a/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch +++ b/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch @@ -1,7 +1,7 @@ -From 75b0d75315d68910c5c3d96213913839c9a9b395 Mon Sep 17 00:00:00 2001 +From 9341ed82cb232da1f37223870cb2b0ff38713be2 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Fri, 27 May 2016 15:03:28 +0200 -Subject: [PATCH 173/436] mm: perform lru_add_drain_all() remotely +Subject: [PATCH 173/437] mm: perform lru_add_drain_all() remotely lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run on all CPUs that have non-empty LRU pagevecs and then waiting for diff --git a/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch b/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch index 0bb6b2ac2..c3ee2dced 100644 --- a/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch +++ b/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch @@ -1,7 +1,7 @@ -From c9ec610c101d9d4fb1f88cd3ea8a69d220bacc2f Mon Sep 17 00:00:00 2001 +From b42713ade1cf103b333bc937b8304b2a6195791d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 174/436] mm/vmstat: Protect per cpu variables with preempt +Subject: [PATCH 174/437] mm/vmstat: Protect per cpu variables with preempt disable on RT Disable preemption on -RT for the vmstat code. On vanila the code runs in @@ -40,7 +40,7 @@ index 1e0cb72e0598..87ab0996a9b0 100644 static inline void count_vm_events(enum vm_event_item item, long delta) diff --git a/mm/vmstat.c b/mm/vmstat.c -index 527ae727d547..ae6446b054d3 100644 +index 6389e876c7a7..203bc6d3be75 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -249,6 +249,7 @@ void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, diff --git a/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch b/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch index 09e8383d8..a30ede8d3 100644 --- a/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch +++ b/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch @@ -1,7 +1,7 @@ -From 459555c1c2cb3c68adb226aa1cf8c08f02f653ed Mon Sep 17 00:00:00 2001 +From 661bc1dee47a1d175214165b121893c3b15138d8 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Sat, 1 Oct 2011 18:58:13 -0700 -Subject: [PATCH 175/436] ARM: Initialize split page table locks for vector +Subject: [PATCH 175/437] ARM: Initialize split page table locks for vector page Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if diff --git a/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch b/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch index 44ace3989..5254d7366 100644 --- a/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch +++ b/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch @@ -1,7 +1,7 @@ -From fff4410b97f4bd6d13fcebff55b4578bbb6b601c Mon Sep 17 00:00:00 2001 +From 29e584d8a8a04c5531c3a2e0dfcad995b880848e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 10:33:09 +0100 -Subject: [PATCH 176/436] mm: bounce: Use local_irq_save_nort +Subject: [PATCH 176/437] mm: bounce: Use local_irq_save_nort kmap_atomic() is preemptible on RT. diff --git a/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch b/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch index c39199fa9..1686991e5 100644 --- a/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch @@ -1,7 +1,7 @@ -From cfce351eba955ebce1382f47e406b7c2be1d1b4f Mon Sep 17 00:00:00 2001 +From a276eb4d8b187ebb02c3edbb0cf6faf7c73f6ea2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 -Subject: [PATCH 177/436] mm: Allow only slub on RT +Subject: [PATCH 177/437] mm: Allow only slub on RT Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs. diff --git a/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch b/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch index 91dede545..a3e1af945 100644 --- a/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch @@ -1,7 +1,7 @@ -From 49e0fa6e96563a132b2bb9ac613165f007a47f1b Mon Sep 17 00:00:00 2001 +From 1c78e1ec776c9a4b04e302110f3eee2ab5ef22b8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 25 Oct 2012 10:32:35 +0100 -Subject: [PATCH 178/436] mm: Enable SLUB for RT +Subject: [PATCH 178/437] mm: Enable SLUB for RT Make SLUB RT aware by converting locks to raw and using free lists to move the freeing out of the lock held region. diff --git a/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch b/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch index a5cbeedde..36c07455e 100644 --- a/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch +++ b/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch @@ -1,7 +1,7 @@ -From f9475676d0b142ff3b645be5bbe73c99688fbca5 Mon Sep 17 00:00:00 2001 +From 6521f7ac165e75bc3ada9bdd6cae84837c89095d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Dec 2017 12:44:14 +0100 -Subject: [PATCH 179/436] mm/slub: close possible memory-leak in +Subject: [PATCH 179/437] mm/slub: close possible memory-leak in kmem_cache_alloc_bulk() Under certain circumstances we could leak elements which were moved to diff --git a/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch b/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch index 59a96b920..b284aa08d 100644 --- a/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch +++ b/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch @@ -1,7 +1,7 @@ -From 63d656787882461a3d7f93544d7fc7b2e12e9cba Mon Sep 17 00:00:00 2001 +From 5e111b9d402b33815f03e93e3bfed6c8f93c81cf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:08:15 +0100 -Subject: [PATCH 180/436] slub: Enable irqs for __GFP_WAIT +Subject: [PATCH 180/437] slub: Enable irqs for __GFP_WAIT SYSTEM_RUNNING might be too late for enabling interrupts. Allocations with GFP_WAIT can happen before that. So use this as an indicator. diff --git a/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch b/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch index eacb97b35..7eb058278 100644 --- a/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch +++ b/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch @@ -1,7 +1,7 @@ -From 94963b7c1d982329242d90784866c528e1bdfa71 Mon Sep 17 00:00:00 2001 +From 79ba188c2f1651cb18a4276a0c27e3131c132488 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Apr 2015 19:00:47 +0200 -Subject: [PATCH 181/436] slub: Disable SLUB_CPU_PARTIAL +Subject: [PATCH 181/437] slub: Disable SLUB_CPU_PARTIAL |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7 diff --git a/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch b/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch index 6d8a9e57a..6b3d58511 100644 --- a/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch +++ b/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch @@ -1,7 +1,7 @@ -From 343d15f5e2a6554ff92b9854951d1c6e23cca9df Mon Sep 17 00:00:00 2001 +From e2cb1c4c5be0f67847525fc5ceeaa24dd6fba341 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 27 Sep 2012 11:11:46 +0200 -Subject: [PATCH 182/436] mm: page_alloc: Use local_lock_on() instead of plain +Subject: [PATCH 182/437] mm: page_alloc: Use local_lock_on() instead of plain spinlock The plain spinlock while sufficient does not update the local_lock @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 52bcb2af5824..525a6f2d5144 100644 +index cd81e08bb504..c959b7b0292c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -291,9 +291,9 @@ static DEFINE_LOCAL_IRQ_LOCK(pa_lock); diff --git a/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch b/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch index 1a6b17125..f4770dac4 100644 --- a/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch +++ b/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch @@ -1,7 +1,7 @@ -From c752afcea99468edb44fae1c5dc9f3b95fadb4ae Mon Sep 17 00:00:00 2001 +From 5806765157114c70826afc4a306f9398ff55969f Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Wed, 30 Oct 2013 11:48:33 -0700 -Subject: [PATCH 183/436] mm/memcontrol: Don't call schedule_work_on in +Subject: [PATCH 183/437] mm/memcontrol: Don't call schedule_work_on in preemption disabled context The following trace is triggered when running ltp oom test cases: diff --git a/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch b/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch index 51acd4c5b..1934435bd 100644 --- a/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch +++ b/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch @@ -1,7 +1,7 @@ -From d5e5cebe569ad8f277880eab26ef2ac6c9bce1e3 Mon Sep 17 00:00:00 2001 +From 0abe0410fbd8c10569c75d8674b36445cbf3f9d3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Jan 2015 17:14:16 +0100 -Subject: [PATCH 184/436] mm/memcontrol: Replace local_irq_disable with local +Subject: [PATCH 184/437] mm/memcontrol: Replace local_irq_disable with local locks There are a few local_irq_disable() which then take sleeping locks. This diff --git a/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch b/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch index 0297ebbf1..245cca329 100644 --- a/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch +++ b/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch @@ -1,7 +1,7 @@ -From 6964f3cd6c06632b68cdfa3d651da18f4fb1a47f Mon Sep 17 00:00:00 2001 +From 213cd45678dbce93ac53697715ef87044ee74d38 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 5 Feb 2016 12:17:14 +0100 -Subject: [PATCH 185/436] mm: backing-dev: don't disable IRQs in +Subject: [PATCH 185/437] mm: backing-dev: don't disable IRQs in wb_congested_put() it triggers: diff --git a/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch b/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch index 6a3d44983..37d58f921 100644 --- a/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch +++ b/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch @@ -1,7 +1,7 @@ -From 6ad7e37928d9dff941521b5ab8244273f47dd2bc Mon Sep 17 00:00:00 2001 +From 7258f2ed88bb2f780f2252e46fad1c6c7475ead0 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 22 Mar 2016 11:16:09 +0100 -Subject: [PATCH 186/436] mm/zsmalloc: copy with get_cpu_var() and locking +Subject: [PATCH 186/437] mm/zsmalloc: copy with get_cpu_var() and locking get_cpu_var() disables preemption and triggers a might_sleep() splat later. This is replaced with get_locked_var(). diff --git a/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch b/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch index 51f08c5e3..22859c8f2 100644 --- a/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch +++ b/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch @@ -1,7 +1,7 @@ -From 2e5ac9f83fa30390a4955725bf9d3656bfc30740 Mon Sep 17 00:00:00 2001 +From 7a812202fba4c9526a865a31afd555c8a57a5549 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 25 Jan 2017 16:34:27 +0100 -Subject: [PATCH 187/436] radix-tree: use local locks +Subject: [PATCH 187/437] radix-tree: use local locks The preload functionality uses per-CPU variables and preempt-disable to ensure that it does not switch CPUs during its usage. This patch adds diff --git a/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch b/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch index 447c682ec..5401cad6e 100644 --- a/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch +++ b/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch @@ -1,7 +1,7 @@ -From 27339eebcf6cf451a0dfecbac972f9a83ba0de1e Mon Sep 17 00:00:00 2001 +From 7fee3caa1bdf406d3ebe5fc1328f6645c8b2422e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 188/436] panic: skip get_random_bytes for RT_FULL in +Subject: [PATCH 188/437] panic: skip get_random_bytes for RT_FULL in init_oops_id Disable on -RT. If this is invoked from irq-context we will have problems diff --git a/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch b/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch index f736f3f09..f497a2b30 100644 --- a/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch +++ b/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch @@ -1,7 +1,7 @@ -From 8df005c3d65b49501f63570631134956f4fc3935 Mon Sep 17 00:00:00 2001 +From 10ac2a3a86592c59cd652aef2a60100d1efeca7c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 189/436] timers: Prepare for full preemption +Subject: [PATCH 189/437] timers: Prepare for full preemption When softirqs can be preempted we need to make sure that cancelling the timer from the active thread can not deadlock vs. a running timer @@ -29,7 +29,7 @@ index e0ea1fe87572..df3085ddf662 100644 #else # define del_timer_sync(t) del_timer(t) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index cca96e5a8263..8cd98168bd8b 100644 +index 5b1a76112243..90b83937a338 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -523,11 +523,14 @@ void resched_cpu(int cpu) diff --git a/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch b/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch index d6c22f1a2..891c654c0 100644 --- a/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch +++ b/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch @@ -1,7 +1,7 @@ -From 9b0990b838b7aa57982939afd8f44a910221337f Mon Sep 17 00:00:00 2001 +From 3842c13318573e304ee2bc4d4ea221c4d75bfdbd Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 21 Aug 2009 11:56:45 +0200 -Subject: [PATCH 190/436] timer: delay waking softirqs from the jiffy tick +Subject: [PATCH 190/437] timer: delay waking softirqs from the jiffy tick People were complaining about broken balancing with the recent -rt series. diff --git a/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch b/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch index c6b251157..a47401925 100644 --- a/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch +++ b/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch @@ -1,7 +1,7 @@ -From e730a898497daf1851d1329c3eb5aaadda1079a2 Mon Sep 17 00:00:00 2001 +From 896a19a34dac35a435de6e32986dade16c56f4d7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Dec 2017 15:51:13 +0100 -Subject: [PATCH 191/436] nohz: Prevent erroneous tick stop invocations +Subject: [PATCH 191/437] nohz: Prevent erroneous tick stop invocations The conditions in irq_exit() to invoke tick_nohz_irq_exit() are: diff --git a/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch b/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch index 30f5a3c1e..05b7097a0 100644 --- a/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch @@ -1,7 +1,7 @@ -From afeb5922ff19919b8b0c196353173368860e4c98 Mon Sep 17 00:00:00 2001 +From 9109effb72a0964511b0c3a06980bf05a8e7d16d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 192/436] x86: kvm Require const tsc for RT +Subject: [PATCH 192/437] x86: kvm Require const tsc for RT Non constant TSC is a nightmare on bare metal already, but with virtualization it becomes a complete disaster because the workarounds @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 7 insertions(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 3856828ee1dc..407658146ae1 100644 +index f24329659bea..1934203b6fc5 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -6287,6 +6287,13 @@ int kvm_arch_init(void *opaque) diff --git a/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch b/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch index c26889bb3..cf79b0e2e 100644 --- a/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch +++ b/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch @@ -1,7 +1,7 @@ -From bd50781c8273e86eecea7e56dab26f31163cb72c Mon Sep 17 00:00:00 2001 +From 14f4c4246705a01739d7f73fc76b083a0157737e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 28 Oct 2013 12:19:57 +0100 -Subject: [PATCH 193/436] wait.h: include atomic.h +Subject: [PATCH 193/437] wait.h: include atomic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch b/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch index 0ebdbc997..b1a1a41c7 100644 --- a/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch +++ b/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch @@ -1,7 +1,7 @@ -From 75c87bb6cb3ab315f3f8c1d4c0aea2f62f47ac5d Mon Sep 17 00:00:00 2001 +From 0462e7e9afb6c97aae1210255720e67dadc2b08d Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Fri, 11 Jul 2014 15:26:11 +0200 -Subject: [PATCH 194/436] work-simple: Simple work queue implemenation +Subject: [PATCH 194/437] work-simple: Simple work queue implemenation Provides a framework for enqueuing callbacks from irq context PREEMPT_RT_FULL safe. The callbacks are executed in kthread context. diff --git a/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch b/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch index 7d56a32fe..fa359de59 100644 --- a/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch +++ b/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch @@ -1,7 +1,7 @@ -From bafd78028e31fbb98d13f33c84332bb4937cabe3 Mon Sep 17 00:00:00 2001 +From 54cdce8b41456443fa2e99c989878ea1f4c58523 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 11 Jan 2013 11:23:51 +0100 -Subject: [PATCH 195/436] completion: Use simple wait queues +Subject: [PATCH 195/437] completion: Use simple wait queues Completions have no long lasting callbacks and therefor do not need the complex waitqueue variant. Use simple waitqueues which reduces the @@ -308,10 +308,10 @@ index 2ddaec40956f..0fe2982e46a0 100644 } EXPORT_SYMBOL(completion_done); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 8cd98168bd8b..b427b127857d 100644 +index 90b83937a338..694bdd953270 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6813,7 +6813,10 @@ void migrate_disable(void) +@@ -6819,7 +6819,10 @@ void migrate_disable(void) return; } #ifdef CONFIG_SCHED_DEBUG @@ -323,7 +323,7 @@ index 8cd98168bd8b..b427b127857d 100644 #endif if (p->migrate_disable) { -@@ -6843,7 +6846,10 @@ void migrate_enable(void) +@@ -6849,7 +6852,10 @@ void migrate_enable(void) } #ifdef CONFIG_SCHED_DEBUG diff --git a/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch b/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch index 0b00b6e2a..9c4c78b72 100644 --- a/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch +++ b/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch @@ -1,7 +1,7 @@ -From ab650547c4bbec4d45a5c84acd45ededb5d09794 Mon Sep 17 00:00:00 2001 +From 251a0495ea9e42f32d656ee371261456f9e73f21 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 16 Feb 2015 18:49:10 +0100 -Subject: [PATCH 196/436] fs/aio: simple simple work +Subject: [PATCH 196/437] fs/aio: simple simple work |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768 |in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2 diff --git a/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch b/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch index 136644f83..39203dacb 100644 --- a/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch +++ b/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch @@ -1,7 +1,7 @@ -From 76876a32c5db4b034bf7df56a3de78a999c877fb Mon Sep 17 00:00:00 2001 +From 674f8ce0de7f72664c12cf56c4b8ac1d34c605e3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Aug 2013 17:48:46 +0200 -Subject: [PATCH 197/436] genirq: Do not invoke the affinity callback via a +Subject: [PATCH 197/437] genirq: Do not invoke the affinity callback via a workqueue on RT Joe Korty reported, that __irq_set_affinity_locked() schedules a @@ -48,7 +48,7 @@ index 2395ebb443b9..172376b9a049 100644 void (*release)(struct kref *ref); }; diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 0dc9ef91898a..7b927944e028 100644 +index f9934b6d879e..ead9da12c26a 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -226,7 +226,12 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask, diff --git a/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch b/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch index eee72ce02..3ddf42e42 100644 --- a/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch +++ b/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch @@ -1,7 +1,7 @@ -From 1ddb1305ba99dc123612581f1b7e9090866fcc0e Mon Sep 17 00:00:00 2001 +From 99f37ca964eaf9bbf602221d3afb82c22586e778 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Nov 2017 17:29:51 +0100 -Subject: [PATCH 198/436] time/hrtimer: avoid schedule_work() with interrupts +Subject: [PATCH 198/437] time/hrtimer: avoid schedule_work() with interrupts disabled The NOHZ code tries to schedule a workqueue with interrupts disabled. diff --git a/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch b/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch index fcc7f0a6b..be5a102d7 100644 --- a/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch +++ b/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch @@ -1,7 +1,7 @@ -From e16e8bb40ae2d303c0562cb31b810a9a1a0623d3 Mon Sep 17 00:00:00 2001 +From 96e3bf1d2cdf9a751c29c974bfb3e523dfdacc8f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 4 Sep 2017 18:31:50 +0200 -Subject: [PATCH 199/436] hrtimer: consolidate hrtimer_init() + +Subject: [PATCH 199/437] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls hrtimer_init_sleeper() calls require a prior initialisation of the diff --git a/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch b/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch index 6ddb11f5d..7670540ba 100644 --- a/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch +++ b/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch @@ -1,7 +1,7 @@ -From 720fa9955815e9b88eb6eae4448f48fb91dad0a9 Mon Sep 17 00:00:00 2001 +From 68221ff1a692859d71eca4c47c58f47fd4034f38 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 200/436] hrtimers: Prepare full preemption +Subject: [PATCH 200/437] hrtimers: Prepare full preemption Make cancellation of a running callback in softirq context safe against preemption. diff --git a/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch b/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch index 62f2e318c..f30fe92af 100644 --- a/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch +++ b/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch @@ -1,7 +1,7 @@ -From 91ec4197fa7e4fb3184ebf7f97a84d58e372d397 Mon Sep 17 00:00:00 2001 +From 750cdd1103515b61fe606f2df482df386ba0ebb1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 3 Jul 2009 08:44:31 -0500 -Subject: [PATCH 201/436] hrtimer: by timers by default into the softirq +Subject: [PATCH 201/437] hrtimer: by timers by default into the softirq context We can't have hrtimers callbacks running in hardirq context on RT. Therefore @@ -64,7 +64,7 @@ index 3de1b8cf4d2a..3bd606859b0a 100644 /* diff --git a/kernel/events/core.c b/kernel/events/core.c -index 4dbce29a9313..de3d23bae9bf 100644 +index 991af683ef9e..add11dbf28e9 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1065,7 +1065,7 @@ static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu) @@ -76,7 +76,7 @@ index 4dbce29a9313..de3d23bae9bf 100644 timer->function = perf_mux_hrtimer_handler; } -@@ -8760,7 +8760,7 @@ static void perf_swevent_init_hrtimer(struct perf_event *event) +@@ -8762,7 +8762,7 @@ static void perf_swevent_init_hrtimer(struct perf_event *event) if (!is_sampling_event(event)) return; @@ -86,7 +86,7 @@ index 4dbce29a9313..de3d23bae9bf 100644 /* diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index b427b127857d..22f202ace8b5 100644 +index 694bdd953270..9526621d97e3 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -341,7 +341,7 @@ static void init_rq_hrtick(struct rq *rq) diff --git a/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch b/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch index 18d4b30cc..99e064212 100644 --- a/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch +++ b/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch @@ -1,7 +1,7 @@ -From c60625ecb1ae084217f1938e0d29a423821b6100 Mon Sep 17 00:00:00 2001 +From 58fec41067dcdc269500b1dc6d8dfcf931c2d0b9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 27 Mar 2018 15:58:16 +0200 -Subject: [PATCH 202/436] alarmtimer: Prevent live lock in alarm_cancel() +Subject: [PATCH 202/437] alarmtimer: Prevent live lock in alarm_cancel() If alarm_try_to_cancel() requires a retry, then depending on the priority setting the retry loop might prevent timer callback completion diff --git a/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch b/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch index f064a5796..fac23a387 100644 --- a/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch +++ b/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch @@ -1,7 +1,7 @@ -From 0294c928d977219b3bc276ce87b5fa65bc2ad05a Mon Sep 17 00:00:00 2001 +From 3b2696c2db2ea687ecb4572ff3362c03146b4288 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Mar 2018 10:45:40 +0200 -Subject: [PATCH 203/436] posix-timers: user proper timer while waiting for +Subject: [PATCH 203/437] posix-timers: user proper timer while waiting for alarmtimer On RT the timer can be preempted while running and therefore we wait diff --git a/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch b/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch index 993347f14..eabd72719 100644 --- a/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch +++ b/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch @@ -1,7 +1,7 @@ -From 38a0764aec2b4dc34b2e14ddd557564842191134 Mon Sep 17 00:00:00 2001 +From 9e9f595ba6639148f6d6c971f6c7cf65eb9d5c66 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Mar 2018 11:15:19 +0200 -Subject: [PATCH 204/436] posix-timers: move the rcu head out of the union +Subject: [PATCH 204/437] posix-timers: move the rcu head out of the union On RT the timer can be preempted while running and therefore we wait with timer_wait_for_callback() for the timer to complete (instead of diff --git a/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch b/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch index aabb7794a..a5bdd7e6a 100644 --- a/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch +++ b/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch @@ -1,7 +1,7 @@ -From 9f941aac9e566340bf17142c2c604a4f96ffd5e5 Mon Sep 17 00:00:00 2001 +From 568b9c5ae7869762a8542d01cc003747610ac928 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Mon, 16 Sep 2013 14:09:19 -0700 -Subject: [PATCH 205/436] hrtimer: Move schedule_work call to helper thread +Subject: [PATCH 205/437] hrtimer: Move schedule_work call to helper thread When run ltp leapsec_timer test, the following call trace is caught: diff --git a/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch b/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch index aa0cf5605..7dc1d9426 100644 --- a/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch +++ b/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch @@ -1,7 +1,7 @@ -From dfbac819a2633fa639d5b5ec651d9da83c3b0f25 Mon Sep 17 00:00:00 2001 +From 08baa369c0a7447cd14946c04f46810bdb301d27 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 25 Jan 2012 11:08:40 +0100 -Subject: [PATCH 206/436] timer-fd: Prevent live lock +Subject: [PATCH 206/437] timer-fd: Prevent live lock If hrtimer_try_to_cancel() requires a retry, then depending on the priority setting te retry loop might prevent timer callback completion diff --git a/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch b/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch index 9adc549d2..7101081d5 100644 --- a/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch @@ -1,7 +1,7 @@ -From 51149599ab9bc5e67d95cca689ec071477ac4c6b Mon Sep 17 00:00:00 2001 +From 4df2f4bb9dd44886b2c0e3687873500886f721fd Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 207/436] posix-timers: Thread posix-cpu-timers on -rt +Subject: [PATCH 207/437] posix-timers: Thread posix-cpu-timers on -rt posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. @@ -43,7 +43,7 @@ index 53ee20e0b168..ee3ff961b84c 100644 [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \ [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \ diff --git a/include/linux/sched.h b/include/linux/sched.h -index 620d9703a125..d1e0ea1dfe71 100644 +index a7d48ad0fb96..086c1913a441 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -785,6 +785,9 @@ struct task_struct { diff --git a/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch b/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch index 5e644efb8..f2eae0ac4 100644 --- a/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch +++ b/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch @@ -1,7 +1,7 @@ -From 2bb5e7113ef1897df9d816c2c78150886b98f3b0 Mon Sep 17 00:00:00 2001 +From 4e0c0cf0c61f3c059b8836923edda1afca0e46e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 May 2011 16:59:16 +0200 -Subject: [PATCH 208/436] sched: Move task_struct cleanup to RCU +Subject: [PATCH 208/437] sched: Move task_struct cleanup to RCU __put_task_struct() does quite some expensive work. We don't want to burden random tasks with that. @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index d1e0ea1dfe71..84332b5139b5 100644 +index 086c1913a441..8281cf6d97cd 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1133,6 +1133,9 @@ struct task_struct { diff --git a/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch b/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch index f4d0a79c0..648d43c6f 100644 --- a/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch +++ b/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch @@ -1,7 +1,7 @@ -From 06e72232f7309174ef5fd24f00d8a84f37068f96 Mon Sep 17 00:00:00 2001 +From 6ce72272f2af8f6056b5cdd5fe70ab000cdb2f37 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 209/436] sched: Limit the number of task migrations per batch +Subject: [PATCH 209/437] sched: Limit the number of task migrations per batch Put an upper limit on the number of tasks which are migrated per batch to avoid large latencies. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 22f202ace8b5..127983f32776 100644 +index 9526621d97e3..1608faf5d08e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -59,7 +59,11 @@ const_debug unsigned int sysctl_sched_features = diff --git a/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch b/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch index 0d5c959bc..02a30beac 100644 --- a/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch @@ -1,7 +1,7 @@ -From 23a3ad51459a01c1fa2450c31fada2ef5e15af36 Mon Sep 17 00:00:00 2001 +From 41156d65040c20950b51b8f9c52403188f998187 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 210/436] sched: Move mmdrop to RCU on RT +Subject: [PATCH 210/437] sched: Move mmdrop to RCU on RT Takes sleeping locks and calls into the memory allocator, so nothing we want to do in task switch and oder atomic contexts. @@ -83,7 +83,7 @@ index 677d17d7efb5..2c53e56ac3e3 100644 { VM_BUG_ON(atomic_read(&mm->mm_users)); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 127983f32776..b99908d5d3cb 100644 +index 1608faf5d08e..0d854e75e16a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2713,8 +2713,12 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -123,7 +123,7 @@ index 127983f32776..b99908d5d3cb 100644 } /* -@@ -5765,6 +5776,10 @@ int sched_cpu_dying(unsigned int cpu) +@@ -5768,6 +5779,10 @@ int sched_cpu_dying(unsigned int cpu) update_max_interval(); nohz_balance_exit_idle(cpu); hrtick_clear(rq); diff --git a/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch b/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch index bf440c8d4..7fd0a075f 100644 --- a/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch +++ b/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch @@ -1,7 +1,7 @@ -From 4074010bd28a8b0ba50df009cba3266165b7069d Mon Sep 17 00:00:00 2001 +From 5a4b7b821bd9bfa7af1f44dc2956655be2c0cfa6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Nov 2016 19:31:08 +0100 -Subject: [PATCH 211/436] kernel/sched: move stack + kprobe clean up to +Subject: [PATCH 211/437] kernel/sched: move stack + kprobe clean up to __put_task_struct() There is no need to free the stack before the task struct. This also @@ -44,7 +44,7 @@ index 2c53e56ac3e3..787105e3bf1b 100644 task_numa_free(tsk); security_task_free(tsk); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index b99908d5d3cb..33951deb3a3d 100644 +index 0d854e75e16a..8bdfb648b900 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2723,15 +2723,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) diff --git a/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch b/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch index 174b69a5c..0d1645168 100644 --- a/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch +++ b/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch @@ -1,7 +1,7 @@ -From e53e8f57a8ae29baea2147560e854b6fa42fcde3 Mon Sep 17 00:00:00 2001 +From 38d8f2b7ebebc2376194de04e69fc39cc8a505f4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 212/436] sched: Add saved_state for tasks blocked on sleeping +Subject: [PATCH 212/437] sched: Add saved_state for tasks blocked on sleeping locks Spinlocks are state preserving in !RT. RT changes the state when a @@ -18,7 +18,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 84332b5139b5..cc5e4a3c2c63 100644 +index 8281cf6d97cd..962c3e6e8979 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -566,6 +566,8 @@ struct task_struct { @@ -30,7 +30,7 @@ index 84332b5139b5..cc5e4a3c2c63 100644 /* * This begins the randomizable portion of task_struct. Only -@@ -1555,6 +1557,7 @@ extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *n +@@ -1564,6 +1566,7 @@ extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *n extern int wake_up_state(struct task_struct *tsk, unsigned int state); extern int wake_up_process(struct task_struct *tsk); @@ -39,7 +39,7 @@ index 84332b5139b5..cc5e4a3c2c63 100644 #ifdef CONFIG_SMP diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 33951deb3a3d..2f646f4454b1 100644 +index 8bdfb648b900..d5210a7dae70 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2033,8 +2033,25 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) @@ -89,7 +89,7 @@ index 33951deb3a3d..2f646f4454b1 100644 { return try_to_wake_up(p, state, 0); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index b29376169f3f..ace39806bff8 100644 +index b3ba6e5e99f2..bd6363799cf6 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1354,6 +1354,7 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) diff --git a/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch b/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch index 4b18de7f0..f989d8b0a 100644 --- a/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch +++ b/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch @@ -1,7 +1,7 @@ -From 88decbe71655ac5f442f675296dc641d6a8fd21c Mon Sep 17 00:00:00 2001 +From 70ff14704b10db1b8ef9f6534442d885be1a16aa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Jun 2017 14:20:37 +0200 -Subject: [PATCH 213/436] sched: Prevent task state corruption by spurious lock +Subject: [PATCH 213/437] sched: Prevent task state corruption by spurious lock wakeup Mathias and others reported GDB failures on RT. @@ -67,7 +67,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 2f646f4454b1..daaf3ebe7214 100644 +index d5210a7dae70..840f5fe684d5 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2224,7 +2224,7 @@ EXPORT_SYMBOL(wake_up_process); diff --git a/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch b/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch index b7180e57a..f6a1f1a31 100644 --- a/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch +++ b/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch @@ -1,7 +1,7 @@ -From f20c8213923de59e66ff3a7c90374facf3bbafb7 Mon Sep 17 00:00:00 2001 +From a51f5adc29f1df6843454d69065b53400f945989 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 7 Jun 2017 10:12:45 +0200 -Subject: [PATCH 214/436] sched: Remove TASK_ALL +Subject: [PATCH 214/437] sched: Remove TASK_ALL It's unused: @@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index cc5e4a3c2c63..03b85406312d 100644 +index 962c3e6e8979..45c1bc53321f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -93,7 +93,6 @@ struct task_group; diff --git a/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch b/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch index e7e692f1f..0db937a5f 100644 --- a/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch +++ b/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch @@ -1,7 +1,7 @@ -From ddee756d811708e3b562a7ceda6dfec39c61d566 Mon Sep 17 00:00:00 2001 +From 90071a4339a4dbe5d353b164ae986152146c4c45 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 215/436] sched: Do not account rcu_preempt_depth on RT in +Subject: [PATCH 215/437] sched: Do not account rcu_preempt_depth on RT in might_sleep() RT changes the rcu_preempt_depth semantics, so we cannot check for it @@ -39,10 +39,10 @@ index a6ddc42f87a5..dbadbdbc8643 100644 /* Internal to kernel */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index daaf3ebe7214..5ca50d198b28 100644 +index 840f5fe684d5..bcb5ea038266 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6046,7 +6046,7 @@ void __init sched_init(void) +@@ -6052,7 +6052,7 @@ void __init sched_init(void) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP static inline int preempt_count_equals(int preempt_offset) { diff --git a/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch b/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch index bf870f15b..980359f02 100644 --- a/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch +++ b/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch @@ -1,7 +1,7 @@ -From 1b5a9eb7ddc002f4b840d81b2d57e991bd60dee8 Mon Sep 17 00:00:00 2001 +From 3f298647538a3d62d66db495dc930dc92db762ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Jul 2011 09:56:44 +0200 -Subject: [PATCH 216/436] sched: Take RT softirq semantics into account in +Subject: [PATCH 216/437] sched: Take RT softirq semantics into account in cond_resched() The softirq semantics work different on -RT. There is no SOFTIRQ_MASK in @@ -16,10 +16,10 @@ Signed-off-by: Thomas Gleixner 2 files changed, 6 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 03b85406312d..209e71d83687 100644 +index 45c1bc53321f..ea110a4dea9b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1658,12 +1658,16 @@ extern int __cond_resched_lock(spinlock_t *lock); +@@ -1667,12 +1667,16 @@ extern int __cond_resched_lock(spinlock_t *lock); __cond_resched_lock(lock); \ }) @@ -37,7 +37,7 @@ index 03b85406312d..209e71d83687 100644 static inline void cond_resched_rcu(void) { diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 5ca50d198b28..d1317216d326 100644 +index bcb5ea038266..148e7627c595 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4948,6 +4948,7 @@ int __cond_resched_lock(spinlock_t *lock) diff --git a/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch b/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch index d91dbe42f..765a2d487 100644 --- a/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch +++ b/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch @@ -1,7 +1,7 @@ -From 03f3ffba48952571c8628c3e77efe6ff28a62f11 Mon Sep 17 00:00:00 2001 +From d52d23eebda645e4aa9676623b93eb933d00237a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:51:33 +0200 -Subject: [PATCH 217/436] sched: Use the proper LOCK_OFFSET for cond_resched() +Subject: [PATCH 217/437] sched: Use the proper LOCK_OFFSET for cond_resched() RT does not increment preempt count when a 'sleeping' spinlock is locked. Update PREEMPT_LOCK_OFFSET for that case. diff --git a/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch b/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch index fef38b57a..45d5734de 100644 --- a/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch @@ -1,7 +1,7 @@ -From 5338faad4d41772afac955c136ba9d9b893ca40e Mon Sep 17 00:00:00 2001 +From 3b52a98bf8264a3eb8b28a035de27bc50ef58ea8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 218/436] sched: Disable TTWU_QUEUE on RT +Subject: [PATCH 218/437] sched: Disable TTWU_QUEUE on RT The queued remote wakeup mechanism can introduce rather large latencies if the number of migrated tasks is high. Disable it for RT. diff --git a/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch b/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch index b9463e913..927e38d52 100644 --- a/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch @@ -1,7 +1,7 @@ -From 5f7f8269528d6bd677083017c0dcba8f1a2aeddd Mon Sep 17 00:00:00 2001 +From 15e41b750773b99b8ffb0d3c605f122375dbbdf8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 -Subject: [PATCH 219/436] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Subject: [PATCH 219/437] sched: Disable CONFIG_RT_GROUP_SCHED on RT Carsten reported problems when running: diff --git a/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch b/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch index ed0acfb10..f61f622ac 100644 --- a/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch +++ b/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch @@ -1,7 +1,7 @@ -From b21238fe2ff32ee340b683d6e77a7d84739e86bb Mon Sep 17 00:00:00 2001 +From 88877013a5214ab58121c0adb371e0c2ab1b5067 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Dec 2011 21:42:19 +0100 -Subject: [PATCH 220/436] sched: ttwu: Return success when only changing the +Subject: [PATCH 220/437] sched: ttwu: Return success when only changing the saved_state value When a task blocks on a rt lock, it saves the current state in @@ -20,7 +20,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index d1317216d326..dcbb3a4c2f53 100644 +index 148e7627c595..75c7bd31cba4 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2040,8 +2040,10 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) diff --git a/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch b/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch index b9f9bb816..d92a7222d 100644 --- a/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch +++ b/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch @@ -1,7 +1,7 @@ -From 18897cb3e1ac19cd29a40047eb2b94ea8bda9b6a Mon Sep 17 00:00:00 2001 +From 64da8c818609427bd7dca604fde6217f536a8509 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 18 Mar 2013 15:12:49 -0400 -Subject: [PATCH 221/436] sched/workqueue: Only wake up idle workers if not +Subject: [PATCH 221/437] sched/workqueue: Only wake up idle workers if not blocked on sleeping spin lock In -rt, most spin_locks() turn into mutexes. One of these spin_lock @@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index dcbb3a4c2f53..39e892bbe1a2 100644 +index 75c7bd31cba4..82da2b9facc9 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3405,8 +3405,10 @@ static void __sched notrace __schedule(bool preempt) diff --git a/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch b/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch index feb2ffb8d..cf4ed4188 100644 --- a/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch +++ b/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch @@ -1,7 +1,7 @@ -From c044804c07e01212e42092e576d340684769220a Mon Sep 17 00:00:00 2001 +From 683b12cfb28b91fbb49cddbdbb8c1962d17cd855 Mon Sep 17 00:00:00 2001 From: Daniel Bristot de Oliveira Date: Mon, 26 Jun 2017 17:07:15 +0200 -Subject: [PATCH 222/436] rt: Increase/decrease the nr of migratory tasks when +Subject: [PATCH 222/437] rt: Increase/decrease the nr of migratory tasks when enabling/disabling migration There is a problem in the migrate_disable()/enable() implementation @@ -81,10 +81,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 39e892bbe1a2..ad2e06ddd290 100644 +index 82da2b9facc9..b5738acc4bf1 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6847,6 +6847,47 @@ const u32 sched_prio_to_wmult[40] = { +@@ -6853,6 +6853,47 @@ const u32 sched_prio_to_wmult[40] = { #if defined(CONFIG_PREEMPT_COUNT) && defined(CONFIG_SMP) @@ -132,7 +132,7 @@ index 39e892bbe1a2..ad2e06ddd290 100644 void migrate_disable(void) { struct task_struct *p = current; -@@ -6870,10 +6911,9 @@ void migrate_disable(void) +@@ -6876,10 +6917,9 @@ void migrate_disable(void) } preempt_disable(); @@ -145,7 +145,7 @@ index 39e892bbe1a2..ad2e06ddd290 100644 preempt_enable(); } -@@ -6905,9 +6945,8 @@ void migrate_enable(void) +@@ -6911,9 +6951,8 @@ void migrate_enable(void) preempt_disable(); diff --git a/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch b/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch index 16e3fc1d7..b6445a668 100644 --- a/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch +++ b/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch @@ -1,7 +1,7 @@ -From b323ce3cc2f7068302a6fb548f371d4180bae5e2 Mon Sep 17 00:00:00 2001 +From 0dfbad209a41126dd1b51bb818e37e0878a9f2c9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:27 -0500 -Subject: [PATCH 223/436] stop_machine: convert stop_machine_run() to +Subject: [PATCH 223/437] stop_machine: convert stop_machine_run() to PREEMPT_RT Instead of playing with non-preemption, introduce explicit diff --git a/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch b/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch index b33b4ada9..7ee4704cd 100644 --- a/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch +++ b/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch @@ -1,7 +1,7 @@ -From e5bfcf6dd1cd4acb24122db4998de421bb977ff6 Mon Sep 17 00:00:00 2001 +From eff70631cf55bb22b788ac7446b8e9613fbe392a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 11:01:51 +0200 -Subject: [PATCH 224/436] stop_machine: Use raw spinlocks +Subject: [PATCH 224/437] stop_machine: Use raw spinlocks Use raw-locks in stomp_machine() to allow locking in irq-off regions. diff --git a/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch b/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch index 30e86d1b9..086604923 100644 --- a/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch +++ b/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch @@ -1,7 +1,7 @@ -From 4c979671a86d2f4eba57e05ec29cdef767cba028 Mon Sep 17 00:00:00 2001 +From bbeeb3d6b7c54f8bc6c3b96adcc16444961e23e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 12:36:06 +0200 -Subject: [PATCH 225/436] hotplug: Lightweight get online cpus +Subject: [PATCH 225/437] hotplug: Lightweight get online cpus get_online_cpus() is a heavy weight function which involves a global mutex. migrate_disable() wants a simpler construct which prevents only @@ -42,10 +42,10 @@ index 2a378d261914..b418d3c5159d 100644 /* Wrappers which go away once all code is converted */ diff --git a/kernel/cpu.c b/kernel/cpu.c -index f3f389e33343..c4e00efd6a2b 100644 +index 5c907d96e3dd..92a1e437e777 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -287,6 +287,21 @@ static int cpu_hotplug_disabled; +@@ -288,6 +288,21 @@ static int cpu_hotplug_disabled; #ifdef CONFIG_HOTPLUG_CPU @@ -68,10 +68,10 @@ index f3f389e33343..c4e00efd6a2b 100644 void cpus_read_lock(void) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index ad2e06ddd290..b8529f66f258 100644 +index b5738acc4bf1..e4c9a2f745cf 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6911,6 +6911,7 @@ void migrate_disable(void) +@@ -6917,6 +6917,7 @@ void migrate_disable(void) } preempt_disable(); @@ -79,7 +79,7 @@ index ad2e06ddd290..b8529f66f258 100644 migrate_disable_update_cpus_allowed(p); p->migrate_disable = 1; -@@ -6976,12 +6977,15 @@ void migrate_enable(void) +@@ -6982,12 +6983,15 @@ void migrate_enable(void) arg.task = p; arg.dest_cpu = dest_cpu; diff --git a/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch b/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch index b6eff30e1..272ced0d9 100644 --- a/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch +++ b/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch @@ -1,7 +1,7 @@ -From 647b4d3560b4bfe069ffdf08f09c4acaed6b1cf9 Mon Sep 17 00:00:00 2001 +From 5590a85f742ef9adfea2559e265bf36d04576de3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 226/436] trace: Add migrate-disabled counter to tracing output +Subject: [PATCH 226/437] trace: Add migrate-disabled counter to tracing output Signed-off-by: Thomas Gleixner --- diff --git a/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch b/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch index 4367c6af4..2da156310 100644 --- a/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch @@ -1,7 +1,7 @@ -From 17014b28a63a27db4b5781c10e89dc0ef3c1b463 Mon Sep 17 00:00:00 2001 +From 67472f6754cc2e0cafb055c2a43c13aef8d7996e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 227/436] lockdep: Make it RT aware +Subject: [PATCH 227/437] lockdep: Make it RT aware teach lockdep that we don't really do softirqs on -RT. @@ -58,7 +58,7 @@ index 7834117a1ef5..2e023bfe45af 100644 #if defined(CONFIG_IRQSOFF_TRACER) || \ diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c -index d7c155048ea9..def51a27f20f 100644 +index bf694c709b96..8012378b7445 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -3914,6 +3914,7 @@ static void check_flags(unsigned long flags) diff --git a/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch b/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch index bff1aab52..c32c18733 100644 --- a/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch +++ b/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch @@ -1,7 +1,7 @@ -From cbb11d67893207e8c7e954ffe796a3f4067135c1 Mon Sep 17 00:00:00 2001 +From c7b2d4d71641197bea5498f2264bfaf55666cda2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 17 Oct 2017 16:36:18 +0200 -Subject: [PATCH 228/436] lockdep: disable self-test +Subject: [PATCH 228/437] lockdep: disable self-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch b/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch index 75cba83a8..a555a2118 100644 --- a/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch @@ -1,7 +1,7 @@ -From 419f424c8d3800ceb6b41a63980278b9b580fe9f Mon Sep 17 00:00:00 2001 +From 53c2268d31ab617d8f928e8133170637b0769ca6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:51:45 +0200 -Subject: [PATCH 229/436] locking: Disable spin on owner for RT +Subject: [PATCH 229/437] locking: Disable spin on owner for RT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch b/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch index 1e0000792..37b81c2fe 100644 --- a/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch +++ b/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch @@ -1,7 +1,7 @@ -From 33db376382330041bb897a017cf3208a642ed93d Mon Sep 17 00:00:00 2001 +From b0398bec6b370691cff81570250a931a1516dc18 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 29 Nov 2011 20:18:22 -0500 -Subject: [PATCH 230/436] tasklet: Prevent tasklets from going into infinite +Subject: [PATCH 230/437] tasklet: Prevent tasklets from going into infinite spin in RT When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads, diff --git a/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch b/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch index bbf29cc6b..f5daf54c2 100644 --- a/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch +++ b/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch @@ -1,7 +1,7 @@ -From 9001aa643161416419d563facd38b716de4e0010 Mon Sep 17 00:00:00 2001 +From 520d969b45300be63d4bb5af9e697edbadfb50f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 231/436] softirq: Check preemption after reenabling interrupts +Subject: [PATCH 231/437] softirq: Check preemption after reenabling interrupts raise_softirq_irqoff() disables interrupts and wakes the softirq daemon, but after reenabling interrupts there is no preemption check, @@ -116,7 +116,7 @@ index 86a709954f5a..9c069ef83d6d 100644 return 0; } diff --git a/net/core/dev.c b/net/core/dev.c -index e8a66ad6d07c..048fc3e7355c 100644 +index 4337450a5fdb..49812d1dba8e 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2460,6 +2460,7 @@ static void __netif_reschedule(struct Qdisc *q) @@ -143,7 +143,7 @@ index e8a66ad6d07c..048fc3e7355c 100644 atomic_long_inc(&skb->dev->rx_dropped); kfree_skb(skb); -@@ -5153,12 +5156,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) +@@ -5157,12 +5160,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) sd->rps_ipi_list = NULL; local_irq_enable(); @@ -158,7 +158,7 @@ index e8a66ad6d07c..048fc3e7355c 100644 } static bool sd_has_rps_ipi_waiting(struct softnet_data *sd) -@@ -5236,6 +5241,7 @@ void __napi_schedule(struct napi_struct *n) +@@ -5240,6 +5245,7 @@ void __napi_schedule(struct napi_struct *n) local_irq_save(flags); ____napi_schedule(this_cpu_ptr(&softnet_data), n); local_irq_restore(flags); @@ -166,7 +166,7 @@ index e8a66ad6d07c..048fc3e7355c 100644 } EXPORT_SYMBOL(__napi_schedule); -@@ -8442,6 +8448,7 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -8446,6 +8452,7 @@ static int dev_cpu_dead(unsigned int oldcpu) raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); diff --git a/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch b/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch index 609657083..aad949599 100644 --- a/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch @@ -1,7 +1,7 @@ -From b73389139889b139d0739fc459dfd2df8948c19c Mon Sep 17 00:00:00 2001 +From dc3447f8dfafd632399cef0d395385b1d020b205 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 232/436] softirq: Disable softirq stacks for RT +Subject: [PATCH 232/437] softirq: Disable softirq stacks for RT Disable extra stacks for softirqs. We want to preempt softirqs and having them on special IRQ-stack does not make this easier. diff --git a/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch b/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch index 847ec92b9..d4348e47a 100644 --- a/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch +++ b/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch @@ -1,7 +1,7 @@ -From a9c7c5d7c937d61e93dc109aed660c37b12058c1 Mon Sep 17 00:00:00 2001 +From caa51304cafba2c42f71347845f0d7f3aa7f32a7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 4 Oct 2012 14:20:47 +0100 -Subject: [PATCH 233/436] softirq: Split softirq locks +Subject: [PATCH 233/437] softirq: Split softirq locks The 3.x RT series removed the split softirq implementation in favour of pushing softirq processing into the context of the thread which @@ -178,7 +178,7 @@ index a3b19af35e3d..2983043d2194 100644 #define in_task() (!(preempt_count() & \ (NMI_MASK | HARDIRQ_MASK | SOFTIRQ_OFFSET))) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 209e71d83687..b82a53ca6ce4 100644 +index ea110a4dea9b..ee6f6d3501de 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1136,6 +1136,8 @@ struct task_struct { @@ -830,7 +830,7 @@ index c21fd6a16870..92222682dfce 100644 } diff --git a/net/core/dev.c b/net/core/dev.c -index 048fc3e7355c..2400b73f79b2 100644 +index 49812d1dba8e..8972786d17de 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4110,11 +4110,9 @@ int netif_rx_ni(struct sk_buff *skb) diff --git a/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch b/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch index 8754f1eb3..098b96b76 100644 --- a/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch +++ b/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch @@ -1,7 +1,7 @@ -From f3a6cde5f9a8fb3acc98466b40d9ceadf41adcf9 Mon Sep 17 00:00:00 2001 +From 2e7e67779ed8539f0e92fb0db4811ee7ba244af0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Feb 2016 18:17:18 +0100 -Subject: [PATCH 234/436] kernel: softirq: unlock with irqs on +Subject: [PATCH 234/437] kernel: softirq: unlock with irqs on We unlock the lock while the interrupts are off. This isn't a problem now but will get because the migrate_disable() + enable are not diff --git a/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch b/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch index 4a5bf6dac..e328b79a2 100644 --- a/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch +++ b/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch @@ -1,7 +1,7 @@ -From 9d5ca280cb09cb21a9bc511f36c7b754aad1b53c Mon Sep 17 00:00:00 2001 +From c06fca93b5e4b5e39b98319fe5febfe78ab7b5a0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 -Subject: [PATCH 235/436] genirq: Allow disabling of softirq processing in irq +Subject: [PATCH 235/437] genirq: Allow disabling of softirq processing in irq thread context The processing of softirqs in irq thread context is a performance gain @@ -68,12 +68,12 @@ index 0d53626405bf..ddd23c6e2e55 100644 #define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 7b927944e028..761d6e6caef1 100644 +index ead9da12c26a..d4d993c27ac0 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -922,7 +922,15 @@ irq_forced_thread_fn(struct irq_desc *desc, struct irqaction *action) - local_bh_disable(); - ret = action->thread_fn(action->irq, action->dev_id); +@@ -925,7 +925,15 @@ irq_forced_thread_fn(struct irq_desc *desc, struct irqaction *action) + atomic_inc(&desc->threads_handled); + irq_finalize_oneshot(desc, action); - local_bh_enable(); + /* @@ -88,7 +88,7 @@ index 7b927944e028..761d6e6caef1 100644 return ret; } -@@ -1417,6 +1425,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -1421,6 +1429,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) irqd_set(&desc->irq_data, IRQD_NO_BALANCING); } diff --git a/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch b/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch index 223873250..e83e5c672 100644 --- a/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch +++ b/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch @@ -1,7 +1,7 @@ -From 88bcdab0ea2b63c33aff0f55d775d72b861f3d5a Mon Sep 17 00:00:00 2001 +From 6683d5da8223ddf11782866fce26ff38e56da578 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 16:34:17 +0100 -Subject: [PATCH 236/436] softirq: split timer softirqs out of ksoftirqd +Subject: [PATCH 236/437] softirq: split timer softirqs out of ksoftirqd The softirqd runs in -RT with SCHED_FIFO (prio 1) and deals mostly with timer wakeup which can not happen in hardirq context. The prio has been diff --git a/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch b/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch index 753e03716..3c0c7b502 100644 --- a/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch +++ b/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch @@ -1,7 +1,7 @@ -From 20cd0de4a7cbdb1c71c88012cc89604ac9b77e7b Mon Sep 17 00:00:00 2001 +From 9529533714b8e9522217aec0996f288d07eb6180 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 20 Jan 2017 18:10:20 +0100 -Subject: [PATCH 237/436] softirq: wake the timer softirq if needed +Subject: [PATCH 237/437] softirq: wake the timer softirq if needed The irq-exit path only checks the "normal"-softirq thread if it is running and ignores the state of the "timer"-softirq thread. It is possible diff --git a/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch b/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch index 705b4402d..ba43dbd24 100644 --- a/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch @@ -1,7 +1,7 @@ -From 4dc6de419fb85d49be8f80b2b78ca900d781bb8c Mon Sep 17 00:00:00 2001 +From 01a71c577984ae0f1ef7e3289cc64f44385f32bf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 2 Dec 2015 11:34:07 +0100 -Subject: [PATCH 238/436] rtmutex: trylock is okay on -RT +Subject: [PATCH 238/437] rtmutex: trylock is okay on -RT non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On -RT we don't run softirqs in IRQ context but in thread context so it is diff --git a/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch b/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch index baaa975ca..6c593f4f8 100644 --- a/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch +++ b/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch @@ -1,7 +1,7 @@ -From 9a1cfb088ebc3f19ac08a1d48afcb3477d6ac8df Mon Sep 17 00:00:00 2001 +From 16af2853f220161370f6b388994987940ae8d544 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 15 Sep 2016 10:51:27 +0200 -Subject: [PATCH 239/436] fs/nfs: turn rmdir_sem into a semaphore +Subject: [PATCH 239/437] fs/nfs: turn rmdir_sem into a semaphore The RW semaphore had a reader side which used the _non_owner version because it most likely took the reader lock in one thread and released it diff --git a/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch b/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch index 29dbe86c2..49d4e7ca8 100644 --- a/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch +++ b/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch @@ -1,7 +1,7 @@ -From 1ef9712e95bc57114e2bdefc795ce3e356b46f1a Mon Sep 17 00:00:00 2001 +From d1a3ef81abb1a72e4d70db2f6fd3691c2d679457 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 240/436] rtmutex: Handle the various new futex race conditions +Subject: [PATCH 240/437] rtmutex: Handle the various new futex race conditions RT opens a few new interesting race conditions in the rtmutex/futex combo due to futex hash bucket lock being a 'sleeping' spinlock and diff --git a/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch b/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch index f9f5d4206..091e8c2aa 100644 --- a/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch +++ b/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch @@ -1,7 +1,7 @@ -From 80e8b355e289165f8ab5184fb73b906aa89ae8e7 Mon Sep 17 00:00:00 2001 +From 00ab1614b16480152f071b950a12b5bfd52e3a1f Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 241/436] futex: Fix bug on when a requeued RT task times out +Subject: [PATCH 241/437] futex: Fix bug on when a requeued RT task times out Requeue with timeout causes a bug with PREEMPT_RT_FULL. diff --git a/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch b/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch index 8e6905baf..b56970268 100644 --- a/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch +++ b/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch @@ -1,7 +1,7 @@ -From f6e0981b87f212d404cf19620786c5e5e0565d58 Mon Sep 17 00:00:00 2001 +From f7935d72b84fab0608c5951271acf243301f2729 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 7 Sep 2017 12:38:47 +0200 -Subject: [PATCH 242/436] locking/rtmutex: don't drop the wait_lock twice +Subject: [PATCH 242/437] locking/rtmutex: don't drop the wait_lock twice Since the futex rework, __rt_mutex_start_proxy_lock() does no longer acquire the wait_lock so it must not drop it. Otherwise the lock is not diff --git a/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch index 9a484c9a4..d9752166f 100644 --- a/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch +++ b/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch @@ -1,7 +1,7 @@ -From ae3f9f235cd9efbaa675de5e685185e12a06ddf2 Mon Sep 17 00:00:00 2001 +From c2eb8f9ce166e98cf66975faa274895220a19d95 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 1 Mar 2013 11:17:42 +0100 -Subject: [PATCH 243/436] futex: Ensure lock/unlock symetry versus pi_lock and +Subject: [PATCH 243/437] futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock In exit_pi_state_list() we have the following locking construct: diff --git a/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch b/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch index 93f4d4a69..05e7d18bc 100644 --- a/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch +++ b/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch @@ -1,7 +1,7 @@ -From a3b8ccc82cae7bfdaa3560f969d8e919d4366850 Mon Sep 17 00:00:00 2001 +From 167e150e3cc71b6a510c88fee049096c843ec415 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Tue, 21 Jul 2015 19:43:56 +0300 -Subject: [PATCH 244/436] pid.h: include atomic.h +Subject: [PATCH 244/437] pid.h: include atomic.h This patch fixes build error: CC kernel/pid_namespace.o diff --git a/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch b/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch index f7a13e827..a0af1d53b 100644 --- a/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch +++ b/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch @@ -1,7 +1,7 @@ -From ec69d1b40f568fab4a0faafd5ee35ba5b600e19a Mon Sep 17 00:00:00 2001 +From 79365b011a093dfb4e2b3c27764bac5dc522dd97 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Dec 2016 17:28:33 +0100 -Subject: [PATCH 245/436] arm: include definition for cpumask_t +Subject: [PATCH 245/437] arm: include definition for cpumask_t This definition gets pulled in by other files. With the (later) split of RCU and spinlock.h it won't compile anymore. diff --git a/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch index b4e9f955f..783aaa59c 100644 --- a/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From 6dab11f738527eaafa13a122be1450a4b222e3a0 Mon Sep 17 00:00:00 2001 +From b3539c486f64958c3530a286e06202850398caf1 Mon Sep 17 00:00:00 2001 From: "Wolfgang M. Reimer" Date: Tue, 21 Jul 2015 16:20:07 +0200 -Subject: [PATCH 246/436] locking: locktorture: Do NOT include rwlock.h +Subject: [PATCH 246/437] locking: locktorture: Do NOT include rwlock.h directly Including rwlock.h directly will cause kernel builds to fail diff --git a/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch b/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch index b39218f2a..9bdfef87d 100644 --- a/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch +++ b/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch @@ -1,7 +1,7 @@ -From 96cdc8480d33807175b59e24bb8e886ecf91ab0c Mon Sep 17 00:00:00 2001 +From da8f518ac576fd0130fccdad0517bc0f228fddd7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 9 Jun 2011 11:43:52 +0200 -Subject: [PATCH 247/436] rtmutex: Add rtmutex_lock_killable() +Subject: [PATCH 247/437] rtmutex: Add rtmutex_lock_killable() Add "killable" type to rtmutex. We need this since rtmutex are used as "normal" mutexes which do use this type. diff --git a/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch b/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch index 246e993b6..0dd5d1a6d 100644 --- a/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch +++ b/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch @@ -1,7 +1,7 @@ -From b81f8a09c69bfa0a82ab64127d59b32b627cf110 Mon Sep 17 00:00:00 2001 +From 33c51e680680205d86caa10e4283a3982df4d43c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 Apr 2017 12:50:59 +0200 -Subject: [PATCH 248/436] rtmutex: Make lock_killable work +Subject: [PATCH 248/437] rtmutex: Make lock_killable work Locking an rt mutex killable does not work because signal handling is restricted to TASK_INTERRUPTIBLE. diff --git a/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch b/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch index ffe14d1a4..624e97088 100644 --- a/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch +++ b/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch @@ -1,7 +1,7 @@ -From eb7b90e059a283f021c63218a822a33e844ef4f8 Mon Sep 17 00:00:00 2001 +From f9c80a2e865e12db3fd0bb30d5338efb22a4cbe7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 249/436] spinlock: Split the lock types header +Subject: [PATCH 249/437] spinlock: Split the lock types header Split raw_spinlock into its own file and the remaining spinlock_t into its own non-RT header. The non-RT header will be replaced later by sleeping diff --git a/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch b/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch index b5c1e722e..5dc33d813 100644 --- a/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch +++ b/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch @@ -1,7 +1,7 @@ -From 9071098a18e62f10a038d8b2f9f110c116311de0 Mon Sep 17 00:00:00 2001 +From eb8c7a8a2dc15dd4c8783fda5340857dea64c171 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 250/436] rtmutex: Avoid include hell +Subject: [PATCH 250/437] rtmutex: Avoid include hell Include only the required raw types. This avoids pulling in the complete spinlock header which in turn requires rtmutex.h at some point. diff --git a/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch b/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch index cb31e6e77..4a6454cc2 100644 --- a/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch +++ b/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch @@ -1,7 +1,7 @@ -From 147b5697fa31958fd8da85d8380d38e7a89344d7 Mon Sep 17 00:00:00 2001 +From 9fdfae1b4d52c2db110dd6c8558833d7417b1e74 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 3 May 2018 17:46:31 +0200 -Subject: [PATCH 251/436] rbtree: don't include the rcu header +Subject: [PATCH 251/437] rbtree: don't include the rcu header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch b/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch index 6d9248e4e..a2bb3ef0c 100644 --- a/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch +++ b/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch @@ -1,7 +1,7 @@ -From 92adc8c6a73236295b05890dab138a39175a4295 Mon Sep 17 00:00:00 2001 +From 4fbcfcdb022d94fcd81bd7139552627582c55ea9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:14:22 +0200 -Subject: [PATCH 252/436] rtmutex: Provide rt_mutex_slowlock_locked() +Subject: [PATCH 252/437] rtmutex: Provide rt_mutex_slowlock_locked() This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt. diff --git a/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch b/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch index ea2983f74..6b2a07835 100644 --- a/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch +++ b/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch @@ -1,7 +1,7 @@ -From 8044d61cf21d1c55c1e0a26c44e7efd4e63fa777 Mon Sep 17 00:00:00 2001 +From d04ec21118f4a3360a274c5bbb3d7c39c9b09e63 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:36:39 +0200 -Subject: [PATCH 253/436] rtmutex: export lockdep-less version of rt_mutex's +Subject: [PATCH 253/437] rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock Required for lock implementation ontop of rtmutex. diff --git a/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch b/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch index 0b82cadd7..b75054aee 100644 --- a/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch +++ b/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch @@ -1,7 +1,7 @@ -From 8783b4309b64365dde7c6e3c4db69f9815809ae5 Mon Sep 17 00:00:00 2001 +From 64f504e34e6123f04c506325bbb231e879a03390 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:11:19 +0200 -Subject: [PATCH 254/436] rtmutex: add sleeping lock implementation +Subject: [PATCH 254/437] rtmutex: add sleeping lock implementation Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -102,7 +102,7 @@ index a355289b1fa1..138bd1e183e0 100644 * rt_mutex_is_locked - is the mutex locked * @lock: the mutex to be queried diff --git a/include/linux/sched.h b/include/linux/sched.h -index b82a53ca6ce4..71af67e42b1a 100644 +index ee6f6d3501de..1b5cc9f148d6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -133,6 +133,11 @@ struct task_group; @@ -1161,7 +1161,7 @@ index ff17912f869c..2d822a08c87d 100644 #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index b8529f66f258..521100928bce 100644 +index e4c9a2f745cf..b34002b6c91b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -427,9 +427,15 @@ static bool set_nr_if_polling(struct task_struct *p) diff --git a/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch index b058d17b6..08942e09b 100644 --- a/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From eed854299960af9de3f470d76f78a5ddf4b43696 Mon Sep 17 00:00:00 2001 +From 218562664afcb7a8d6439e04cbe06fb2e4a322f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:17:03 +0200 -Subject: [PATCH 255/436] rtmutex: add mutex implementation based on rtmutex +Subject: [PATCH 255/437] rtmutex: add mutex implementation based on rtmutex Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch index dd2475ac2..a857ce125 100644 --- a/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From b94b8e25fa53b9e5e4b64cb56a24c1046261b67a Mon Sep 17 00:00:00 2001 +From 4029732510cb67246a845e4c9d329eaf9c94b402 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:28:34 +0200 -Subject: [PATCH 256/436] rtmutex: add rwsem implementation based on rtmutex +Subject: [PATCH 256/437] rtmutex: add rwsem implementation based on rtmutex The RT specific R/W semaphore implementation restricts the number of readers to one because a writer cannot block on multiple readers and inherit its diff --git a/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch index 5f5d76cb5..983e3daa4 100644 --- a/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From d17714e15deac3853bed4d8b2cb81feff3030ca0 Mon Sep 17 00:00:00 2001 +From 527069affcb77c76bae2cce18e9c67dfae4b25ea Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:18:06 +0200 -Subject: [PATCH 257/436] rtmutex: add rwlock implementation based on rtmutex +Subject: [PATCH 257/437] rtmutex: add rwlock implementation based on rtmutex The implementation is bias-based, similar to the rwsem implementation. diff --git a/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch b/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch index 2de52c18e..507ecab34 100644 --- a/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch +++ b/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch @@ -1,7 +1,7 @@ -From 4810a98102a3c280cdf5972577b4181ac56f3667 Mon Sep 17 00:00:00 2001 +From 126b97b0b8bf74ba9a4820d51fa1c16c01822c92 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:31:14 +0200 -Subject: [PATCH 258/436] rtmutex: wire up RT's locking +Subject: [PATCH 258/437] rtmutex: wire up RT's locking Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch b/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch index 6f2780286..97e2c71fc 100644 --- a/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch +++ b/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch @@ -1,7 +1,7 @@ -From 6ff55e6580937cb7a03c77030dcb18b0ad9d07fc Mon Sep 17 00:00:00 2001 +From 283bca2faa9abc1a7f3cac94fb3e6c01da391bd5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 17:34:38 +0200 -Subject: [PATCH 259/436] rtmutex: add ww_mutex addon for mutex-rt +Subject: [PATCH 259/437] rtmutex: add ww_mutex addon for mutex-rt Signed-off-by: Sebastian Andrzej Siewior --- diff --git a/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch b/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch index e86a3c1a9..b8b096d96 100644 --- a/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch +++ b/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch @@ -1,7 +1,7 @@ -From 422fb9017413248fedc3f4194e09efc80f5c2ebc Mon Sep 17 00:00:00 2001 +From e4b3c20d9a121637bfd50ccb71fbcd2d0f2d8d24 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Mon, 13 Nov 2017 12:56:53 -0500 -Subject: [PATCH 260/436] locking/rt-mutex: fix deadlock in device mapper / +Subject: [PATCH 260/437] locking/rt-mutex: fix deadlock in device mapper / block-IO When some block device driver creates a bio and submits it to another diff --git a/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch b/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch index 44962a5dc..0fd503f38 100644 --- a/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch +++ b/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch @@ -1,7 +1,7 @@ -From a5ce93fa4852ceb1b29a7b7800ab02288f4d0863 Mon Sep 17 00:00:00 2001 +From 4baea1a4408f0fad249dc24ee1f8b3eafd793595 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 16 Nov 2017 16:48:48 +0100 -Subject: [PATCH 261/436] locking/rtmutex: re-init the wait_lock in +Subject: [PATCH 261/437] locking/rtmutex: re-init the wait_lock in rt_mutex_init_proxy_locked() We could provide a key-class for the lockdep (and fixup all callers) or diff --git a/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch b/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch index 81882935b..b8c59dd66 100644 --- a/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch +++ b/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch @@ -1,7 +1,7 @@ -From c23213e3effb3c96a08df5e6ffc549f302a69050 Mon Sep 17 00:00:00 2001 +From 2c72b0a19b6f6dcfe4dacb756e598410054e718e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 18:21:04 +0200 -Subject: [PATCH 262/436] ptrace: fix ptrace vs tasklist_lock race +Subject: [PATCH 262/437] ptrace: fix ptrace vs tasklist_lock race As explained by Alexander Fyodorov : @@ -30,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior 3 files changed, 68 insertions(+), 7 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 71af67e42b1a..1e829adc282e 100644 +index 1b5cc9f148d6..04403a5a34f1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -100,12 +100,8 @@ struct task_group; @@ -46,7 +46,7 @@ index 71af67e42b1a..1e829adc282e 100644 #define task_contributes_to_load(task) ((task->state & TASK_UNINTERRUPTIBLE) != 0 && \ (task->flags & PF_FROZEN) == 0 && \ (task->state & TASK_NOLOAD) == 0) -@@ -1645,6 +1641,51 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) +@@ -1654,6 +1650,51 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED)); } @@ -119,7 +119,7 @@ index 84b1367935e4..b32a86f63522 100644 } spin_unlock_irq(&task->sighand->siglock); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 521100928bce..ae45cd2e929f 100644 +index b34002b6c91b..c9f8f0699885 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1378,6 +1378,18 @@ int migrate_swap(struct task_struct *cur, struct task_struct *p) diff --git a/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch b/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch index 921e6aae1..0aeaadeab 100644 --- a/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch +++ b/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch @@ -1,7 +1,7 @@ -From 7e529a00405bb5878d45113d07724660e47f566d Mon Sep 17 00:00:00 2001 +From 7bb975338a8f37db0135bb469a0763c0f9089327 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 14:25:13 +0200 -Subject: [PATCH 263/436] RCU: we need to skip that warning but only on +Subject: [PATCH 263/437] RCU: we need to skip that warning but only on sleeping locks This check is okay for upstream. On RT we trigger this while blocking on diff --git a/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch b/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch index c4f0f6d9c..032b6eff8 100644 --- a/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch +++ b/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch @@ -1,7 +1,7 @@ -From b532b8c52b78b3ed509f8df7af1c18e649a86338 Mon Sep 17 00:00:00 2001 +From 59f632ff902c1a2697e9c67e1cb4b496573ba883 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Feb 2018 11:45:13 +0100 -Subject: [PATCH 264/436] RCU: skip the "schedule() in RCU section" warning on +Subject: [PATCH 264/437] RCU: skip the "schedule() in RCU section" warning on UP, too In "RCU: we need to skip that warning but only on sleeping locks" we @@ -44,7 +44,7 @@ index 2983043d2194..fd2efc6ffc3f 100644 #define migrate_disable() barrier() #define migrate_enable() barrier() diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1e829adc282e..52cf8d74b534 100644 +index 04403a5a34f1..1689c832ffb3 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -631,6 +631,12 @@ struct task_struct { @@ -74,10 +74,10 @@ index 787321ad4f5f..18b98ae934a2 100644 #endif WARN_ON_ONCE(!preempt && t->rcu_read_lock_nesting > 0 && !mg_counter); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index ae45cd2e929f..ab6ec5fb6796 100644 +index c9f8f0699885..44c22ff3e6fe 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7016,4 +7016,49 @@ void migrate_enable(void) +@@ -7022,4 +7022,49 @@ void migrate_enable(void) preempt_enable(); } EXPORT_SYMBOL(migrate_enable); diff --git a/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch b/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch index 372a92911..8d579a137 100644 --- a/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch +++ b/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch @@ -1,7 +1,7 @@ -From 5e3ce04b8e37abb07953b6e3a7b1bce4a81608ab Mon Sep 17 00:00:00 2001 +From 86a533488648a2de4592cd00516722d47696a9ef Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 17:40:42 +0200 -Subject: [PATCH 265/436] locking: don't check for __LINUX_SPINLOCK_TYPES_H on +Subject: [PATCH 265/437] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs Upstream uses arch_spinlock_t within spinlock_t and requests that diff --git a/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch b/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch index a6d66881c..3cab2f714 100644 --- a/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch +++ b/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch @@ -1,7 +1,7 @@ -From 7225b7428d4187c1c0fa920a33deb9ebcf537dea Mon Sep 17 00:00:00 2001 +From b4d56c6e48e33fe18861b55552fd5375cbae4b67 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 13 Aug 2011 00:23:17 +0200 -Subject: [PATCH 266/436] rcu: Frob softirq test +Subject: [PATCH 266/437] rcu: Frob softirq test With RT_FULL we get the below wreckage: diff --git a/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch b/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch index f8cbac388..2b369f1ed 100644 --- a/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch +++ b/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch @@ -1,7 +1,7 @@ -From 3f1b159f2bd11326720e1987c23d123f23518d49 Mon Sep 17 00:00:00 2001 +From 483b81787aca812ec731a33fbb0356a133c193f9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 11:59:38 -0700 -Subject: [PATCH 267/436] rcu: Merge RCU-bh into RCU-preempt +Subject: [PATCH 267/437] rcu: Merge RCU-bh into RCU-preempt The Linux kernel has long RCU-bh read-side critical sections that intolerably increase scheduling latency under mainline's RCU-bh rules, @@ -194,7 +194,7 @@ index 45f2ffbc1e78..2e9dbb734d5a 100644 * Don't even think about trying any of these in real life!!! * The names includes "busted", and they really means it! diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index 3e3650e94ae6..b2367bc209cc 100644 +index 710ce1d6b982..f9d942d18e86 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -243,6 +243,7 @@ void rcu_sched_qs(void) @@ -277,7 +277,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 case RCU_SCHED_FLAVOR: rsp = &rcu_sched_state; break; -@@ -3113,6 +3129,7 @@ void call_rcu_sched(struct rcu_head *head, rcu_callback_t func) +@@ -3122,6 +3138,7 @@ void call_rcu_sched(struct rcu_head *head, rcu_callback_t func) } EXPORT_SYMBOL_GPL(call_rcu_sched); @@ -285,7 +285,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /** * call_rcu_bh() - Queue an RCU for invocation after a quicker grace period. * @head: structure to be used for queueing the RCU updates. -@@ -3140,6 +3157,7 @@ void call_rcu_bh(struct rcu_head *head, rcu_callback_t func) +@@ -3149,6 +3166,7 @@ void call_rcu_bh(struct rcu_head *head, rcu_callback_t func) __call_rcu(head, func, &rcu_bh_state, -1, 0); } EXPORT_SYMBOL_GPL(call_rcu_bh); @@ -293,7 +293,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /* * Queue an RCU callback for lazy invocation after a grace period. -@@ -3225,6 +3243,7 @@ void synchronize_sched(void) +@@ -3234,6 +3252,7 @@ void synchronize_sched(void) } EXPORT_SYMBOL_GPL(synchronize_sched); @@ -301,7 +301,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /** * synchronize_rcu_bh - wait until an rcu_bh grace period has elapsed. * -@@ -3251,6 +3270,7 @@ void synchronize_rcu_bh(void) +@@ -3260,6 +3279,7 @@ void synchronize_rcu_bh(void) wait_rcu_gp(call_rcu_bh); } EXPORT_SYMBOL_GPL(synchronize_rcu_bh); @@ -309,7 +309,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /** * get_state_synchronize_rcu - Snapshot current RCU state -@@ -3601,6 +3621,7 @@ static void _rcu_barrier(struct rcu_state *rsp) +@@ -3610,6 +3630,7 @@ static void _rcu_barrier(struct rcu_state *rsp) mutex_unlock(&rsp->barrier_mutex); } @@ -317,7 +317,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /** * rcu_barrier_bh - Wait until all in-flight call_rcu_bh() callbacks complete. */ -@@ -3609,6 +3630,7 @@ void rcu_barrier_bh(void) +@@ -3618,6 +3639,7 @@ void rcu_barrier_bh(void) _rcu_barrier(&rcu_bh_state); } EXPORT_SYMBOL_GPL(rcu_barrier_bh); @@ -325,7 +325,7 @@ index 3e3650e94ae6..b2367bc209cc 100644 /** * rcu_barrier_sched - Wait for in-flight call_rcu_sched() callbacks. -@@ -4184,7 +4206,9 @@ void __init rcu_init(void) +@@ -4193,7 +4215,9 @@ void __init rcu_init(void) rcu_bootup_announce(); rcu_init_geometry(); diff --git a/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch b/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch index a4c809e16..c63a1d87a 100644 --- a/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch +++ b/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch @@ -1,7 +1,7 @@ -From 6cce46be8934e135b9552a92d55bc40938162fda Mon Sep 17 00:00:00 2001 +From 12e204e731465f1517223971e9046dd70de7ae59 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 5 Oct 2011 11:45:18 -0700 -Subject: [PATCH 268/436] rcu: Make ksoftirqd do RCU quiescent states +Subject: [PATCH 268/437] rcu: Make ksoftirqd do RCU quiescent states Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable to network-based denial-of-service attacks. This patch therefore @@ -45,7 +45,7 @@ index 104fa2bdf127..70996e134818 100644 void rcu_report_dead(unsigned int cpu); void rcu_cpu_starting(unsigned int cpu); diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index b2367bc209cc..cc495f5273af 100644 +index f9d942d18e86..5e991041f50a 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -243,7 +243,14 @@ void rcu_sched_qs(void) diff --git a/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch b/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch index 6bdb0660d..9774529d1 100644 --- a/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch +++ b/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch @@ -1,7 +1,7 @@ -From adc85a9ef6ceab20a468bff4df938a42f6590f7b Mon Sep 17 00:00:00 2001 +From 2c097d3b0a94fedd8cf237efab16c710d120a642 Mon Sep 17 00:00:00 2001 From: Tiejun Chen Date: Wed, 18 Dec 2013 17:51:49 +0800 -Subject: [PATCH 269/436] rcutree/rcu_bh_qs: Disable irq while calling +Subject: [PATCH 269/437] rcutree/rcu_bh_qs: Disable irq while calling rcu_preempt_qs() Any callers to the function rcu_preempt_qs() must disable irqs in @@ -34,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 5 insertions(+) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index cc495f5273af..55c56b1aece7 100644 +index 5e991041f50a..f37d06ec5ee1 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -248,7 +248,12 @@ static void rcu_preempt_qs(void); diff --git a/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch b/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch index 16692dc2d..d59c8c3cd 100644 --- a/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch @@ -1,7 +1,7 @@ -From be7a2c6af55f99c2902d71bcecdd66af349068f4 Mon Sep 17 00:00:00 2001 +From af1af66664f2b89686a49fdb5dc2d8cbc5022681 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 270/436] tty/serial/omap: Make the locking RT aware +Subject: [PATCH 270/437] tty/serial/omap: Make the locking RT aware The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and diff --git a/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch b/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch index 1ab8dbc99..62f4ce88f 100644 --- a/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch @@ -1,7 +1,7 @@ -From 3e5d08686e94f90b7f4a25f3cd7b45f925857c3f Mon Sep 17 00:00:00 2001 +From b3ec94145219700a0db30e5ac54e5eaa53911c93 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Jan 2013 21:36:51 +0100 -Subject: [PATCH 271/436] tty/serial/pl011: Make the locking work on RT +Subject: [PATCH 271/437] tty/serial/pl011: Make the locking work on RT The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and non-RT. diff --git a/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch b/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch index ba43bd0ec..4a4a7937a 100644 --- a/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch +++ b/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch @@ -1,7 +1,7 @@ -From 9e16830eb2dfaffc6201d0b4b951a45ecdf900b3 Mon Sep 17 00:00:00 2001 +From d6558a1e2a9ef9404d0612e3e266b7e173f28c2d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 13:05:54 +0100 -Subject: [PATCH 272/436] rt: Improve the serial console PASS_LIMIT +Subject: [PATCH 272/437] rt: Improve the serial console PASS_LIMIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch b/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch index 6d990ec28..5517b7ab2 100644 --- a/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch +++ b/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch @@ -1,7 +1,7 @@ -From 33ac16833478caafde4674584072d1ac9de5ee11 Mon Sep 17 00:00:00 2001 +From 886def17e5e3d5ef96f1179e1ea15be0e89d80b0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Apr 2016 16:55:02 +0200 -Subject: [PATCH 273/436] tty: serial: 8250: don't take the trylock during oops +Subject: [PATCH 273/437] tty: serial: 8250: don't take the trylock during oops An oops with irqs off (panic() from irqsafe hrtimer like the watchdog timer) will lead to a lockdep warning on each invocation and as such diff --git a/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch b/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch index f47a3bb28..b44c5a3b6 100644 --- a/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch +++ b/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch @@ -1,7 +1,7 @@ -From fc36b991ed25248278b7f825b7838a682116b421 Mon Sep 17 00:00:00 2001 +From efbadaf7db20d954980f8a2382f23d24bc71d34b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 23 Nov 2016 16:29:32 +0100 -Subject: [PATCH 274/436] locking/percpu-rwsem: Remove preempt_disable variants +Subject: [PATCH 274/437] locking/percpu-rwsem: Remove preempt_disable variants Effective revert commit: diff --git a/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch b/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch index 897f93588..c1f198e14 100644 --- a/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch +++ b/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch @@ -1,7 +1,7 @@ -From a23c5c5ed50c2722fea468a39f571866b77735b8 Mon Sep 17 00:00:00 2001 +From 77899fdd6dfbc3f2a974498231ae7822a84d24d1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 19 Jul 2009 08:44:27 -0500 -Subject: [PATCH 275/436] fs: namespace preemption fix +Subject: [PATCH 275/437] fs: namespace preemption fix On RT we cannot loop with preemption disabled here as mnt_make_readonly() might have been preempted. We can safely enable @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/namespace.c b/fs/namespace.c -index 9dc146e7b5e0..63c157047e4d 100644 +index e9c13eedd739..47bfbb592a2c 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -353,8 +353,11 @@ int __mnt_want_write(struct vfsmount *m) diff --git a/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch b/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch index 57f2baf78..88809a9a2 100644 --- a/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch +++ b/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch @@ -1,7 +1,7 @@ -From c8bd2a9663df53fb4cf3ac7d3c07539fa1627072 Mon Sep 17 00:00:00 2001 +From 5f2d9ad05796dd05af4d407521cb3e347d6f6e2b Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Tue, 15 May 2012 13:53:56 +0800 -Subject: [PATCH 276/436] mm: Protect activate_mm() by +Subject: [PATCH 276/437] mm: Protect activate_mm() by preempt_[disable&enable]_rt() User preempt_*_rt instead of local_irq_*_rt or otherwise there will be diff --git a/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch b/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch index 780f9d66c..5703e049a 100644 --- a/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch @@ -1,7 +1,7 @@ -From c90d0993a4a31e96408e3eec2473bd40423b9a29 Mon Sep 17 00:00:00 2001 +From 2fc78f9f6ab3222710f63e11c01f7fcada05ea3a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jun 2011 17:05:09 +0200 -Subject: [PATCH 277/436] block: Turn off warning which is bogus on RT +Subject: [PATCH 277/437] block: Turn off warning which is bogus on RT On -RT the context is always with IRQs enabled. Ignore this warning on -RT. @@ -11,7 +11,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 4ef7a87fa430..d9310ff9920e 100644 +index 9e3521c4431a..b3edf248d148 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -280,7 +280,7 @@ EXPORT_SYMBOL(blk_start_queue_async); diff --git a/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch b/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch index de6f414f4..827ce9831 100644 --- a/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch @@ -1,7 +1,7 @@ -From d59bb978570d0b1c57e501be705434912ca4c15a Mon Sep 17 00:00:00 2001 +From 0d72351ed31f4b49b5cd01fd3c91eb3113c2fe23 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 3 Jul 2009 08:44:12 -0500 -Subject: [PATCH 278/436] fs: ntfs: disable interrupt only on !RT +Subject: [PATCH 278/437] fs: ntfs: disable interrupt only on !RT On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote: > * Nick Piggin wrote: diff --git a/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch b/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch index f78cb367d..5b722db19 100644 --- a/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch +++ b/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch @@ -1,7 +1,7 @@ -From 16f784beabbdf4927bfaacc88bb9ca3c9811b6e2 Mon Sep 17 00:00:00 2001 +From 09a289609a3fdf987214160fc713bf5a412ab407 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 17 Feb 2014 17:30:03 +0100 -Subject: [PATCH 279/436] fs: jbd2: pull your plug when waiting for space +Subject: [PATCH 279/437] fs: jbd2: pull your plug when waiting for space Two cps in parallel managed to stall the the ext4 fs. It seems that journal code is either waiting for locks or sleeping waiting for @@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 2 insertions(+) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c -index 4055f51617ef..bba2e5e6e917 100644 +index fe4fe155b7fb..03f08a7ca5bc 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -116,6 +116,8 @@ void __jbd2_log_wait_for_space(journal_t *journal) diff --git a/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch b/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch index b5b5e43d2..650d41a1e 100644 --- a/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch +++ b/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch @@ -1,7 +1,7 @@ -From 680959ccc8abf8eb01ae97b2bdfd2d66b6a5e91a Mon Sep 17 00:00:00 2001 +From a732209c07fa86aedcfbb0c4d9591ecfb1712857 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Nov 2017 17:51:51 +0100 -Subject: [PATCH 280/436] Revert "fs: jbd2: pull your plug when waiting for +Subject: [PATCH 280/437] Revert "fs: jbd2: pull your plug when waiting for space" This reverts commit "fs: jbd2: pull your plug when waiting for space". @@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 2 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c -index bba2e5e6e917..4055f51617ef 100644 +index 03f08a7ca5bc..fe4fe155b7fb 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -116,8 +116,6 @@ void __jbd2_log_wait_for_space(journal_t *journal) diff --git a/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch b/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch index c0cfcc6fd..71d6b7793 100644 --- a/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch +++ b/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch @@ -1,7 +1,7 @@ -From c9dd95ccf021700144a53dcc9546e15d9f1a8668 Mon Sep 17 00:00:00 2001 +From dc1bd887cefe3fb7209f0cd93ae7070053bad798 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 12:32:34 +0200 -Subject: [PATCH 281/436] fs/dcache: bringt back explicit INIT_HLIST_BL_HEAD +Subject: [PATCH 281/437] fs/dcache: bringt back explicit INIT_HLIST_BL_HEAD init Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed diff --git a/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch b/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch index 029aca50d..065847be9 100644 --- a/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch +++ b/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch @@ -1,7 +1,7 @@ -From bd1841425843e16d1c2867c8e6f4596da61e7fe3 Mon Sep 17 00:00:00 2001 +From a97e1866677bb396b2034a3ae3cd882234452caf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Oct 2017 11:29:53 +0200 -Subject: [PATCH 282/436] fs/dcache: disable preemption on i_dir_seq's write +Subject: [PATCH 282/437] fs/dcache: disable preemption on i_dir_seq's write side i_dir_seq is an opencoded seqcounter. Based on the code it looks like we @@ -114,10 +114,10 @@ index 3aabe553fc45..b5d63bf1ad8e 100644 } diff --git a/include/linux/fs.h b/include/linux/fs.h -index cc613f20e5a6..b806e2116f5c 100644 +index f6a577edec67..10cdd9dbbf84 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -655,7 +655,7 @@ struct inode { +@@ -657,7 +657,7 @@ struct inode { struct block_device *i_bdev; struct cdev *i_cdev; char *i_link; diff --git a/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch b/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch index 78ccba089..0a96e4f82 100644 --- a/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch @@ -1,7 +1,7 @@ -From 5d05025d505d55d57a1129d2a463dd83a0b8735c Mon Sep 17 00:00:00 2001 +From 47d6f280a4fb9fa2f3856f07da8a7607e3320e5f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 13 Dec 2010 16:33:39 +0100 -Subject: [PATCH 283/436] x86: Convert mce timer to hrtimer +Subject: [PATCH 283/437] x86: Convert mce timer to hrtimer mce_timer is started in atomic contexts of cpu bringup. This results in might_sleep() warnings on RT. Convert mce_timer to a hrtimer to diff --git a/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch b/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch index d79061007..6680d83f4 100644 --- a/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch +++ b/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch @@ -1,7 +1,7 @@ -From 42fa8d7666f2f5007d5c6789575cb79a5c5b4725 Mon Sep 17 00:00:00 2001 +From c9dfaf6f866b9dcdf82ec90717101d20b7599002 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 27 Feb 2015 15:20:37 +0100 -Subject: [PATCH 284/436] x86/mce: use swait queue for mce wakeups +Subject: [PATCH 284/437] x86/mce: use swait queue for mce wakeups We had a customer report a lockup on a 3.0-rt kernel that had the following backtrace: diff --git a/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch b/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch index 31ebe914a..7af4da1fd 100644 --- a/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch @@ -1,7 +1,7 @@ -From bab2a8c3d60783b814f947be2d312eb781a649d5 Mon Sep 17 00:00:00 2001 +From c3edfff3893fb9ea36c0b9199adcee709c07b57d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 285/436] x86: stackprotector: Avoid random pool on rt +Subject: [PATCH 285/437] x86: stackprotector: Avoid random pool on rt CPU bringup calls into the random pool to initialize the stack canary. During boot that works nicely even on RT as the might sleep diff --git a/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch b/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch index c2123d3f4..ea7aefd1e 100644 --- a/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,7 +1,7 @@ -From e93fe4a0241a21b017e2eb266ebf0e66dcd50c55 Mon Sep 17 00:00:00 2001 +From 61139c98e3538a576a9f524393ba94eaf74e0fc8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 02:21:32 +0200 -Subject: [PATCH 286/436] x86: Use generic rwsem_spinlocks on -rt +Subject: [PATCH 286/437] x86: Use generic rwsem_spinlocks on -rt Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 2af0af33362a..5c7203cc0e6f 100644 +index 4f393eb9745f..22a63ddf5668 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -257,8 +257,11 @@ config ARCH_MAY_HAVE_PC_FDC diff --git a/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch b/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch index 3a0807787..5a7598366 100644 --- a/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch +++ b/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch @@ -1,7 +1,7 @@ -From 7ce1f5a8e723ad706a34d5f1bc5c6304939584ae Mon Sep 17 00:00:00 2001 +From 470030e88c452ee6759644780d01eff7f4e0fd69 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 2 Nov 2014 08:31:37 +0100 -Subject: [PATCH 287/436] x86: UV: raw_spinlock conversion +Subject: [PATCH 287/437] x86: UV: raw_spinlock conversion Shrug. Lots of hobbyists have a beast in their basement, right? diff --git a/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch b/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch index 4a42e27f3..c031ca724 100644 --- a/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch +++ b/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch @@ -1,7 +1,7 @@ -From 7348c1484ac660274f6d3e91408781992e7d3bf0 Mon Sep 17 00:00:00 2001 +From 9c801faae3ec149a11c6d6b38c320198cb2eff87 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 17 Feb 2015 09:37:44 +0100 -Subject: [PATCH 288/436] thermal: Defer thermal wakups to threads +Subject: [PATCH 288/437] thermal: Defer thermal wakups to threads On RT the spin lock in pkg_temp_thermal_platfrom_thermal_notify will call schedule while we run in irq context. diff --git a/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch b/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch index 2190fa0e8..4159ccaa1 100644 --- a/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch @@ -1,7 +1,7 @@ -From 90990a298cf78feb57e2668ea803cb1ea8e1e943 Mon Sep 17 00:00:00 2001 +From 96d894a2de5c48a0cf700df45140e530d30987ed Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 16:35:35 +0200 -Subject: [PATCH 289/436] fs/epoll: Do not disable preemption on RT +Subject: [PATCH 289/437] fs/epoll: Do not disable preemption on RT ep_call_nested() takes a sleeping lock so we can't disable preemption. The light version is enough since ep_call_nested() doesn't mind beeing diff --git a/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch b/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch index 60efc1aed..cc0a33543 100644 --- a/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch +++ b/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch @@ -1,7 +1,7 @@ -From d68dfba4a8e4ef220769d9ae2040e09f8a67fa3d Mon Sep 17 00:00:00 2001 +From 3b5b7590e56263ba80198ae916802d69e5696f06 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 290/436] mm/vmalloc: Another preempt disable region which +Subject: [PATCH 290/437] mm/vmalloc: Another preempt disable region which sucks Avoid the preempt disable version of get_cpu_var(). The inner-lock should diff --git a/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch b/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch index dcf0491bd..95471adcd 100644 --- a/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch +++ b/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch @@ -1,7 +1,7 @@ -From 9443106a5d9415458cfb075d03ffaca5bb74f8a9 Mon Sep 17 00:00:00 2001 +From 1c4826faee5ea60271487ad1c212e84e55e04370 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Apr 2014 10:37:23 +0200 -Subject: [PATCH 291/436] block: mq: use cpu_light() +Subject: [PATCH 291/437] block: mq: use cpu_light() there is a might sleep splat because get_cpu() disables preemption and later we grab a lock. As a workaround for this we use get_cpu_light(). diff --git a/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch b/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch index fa0351252..7e5677e04 100644 --- a/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch +++ b/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch @@ -1,7 +1,7 @@ -From 2a438056b7385fd909921b685970bce7e3c41bf6 Mon Sep 17 00:00:00 2001 +From 9c3c6a9a4eb5d1376582274d4a3e22c6000f6bcc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 292/436] block/mq: do not invoke preempt_disable() +Subject: [PATCH 292/437] block/mq: do not invoke preempt_disable() preempt_disable() and get_cpu() don't play well together with the sleeping locks it tries to allocate later. diff --git a/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch b/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch index 4e6eb19e5..264b33846 100644 --- a/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch +++ b/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch @@ -1,7 +1,7 @@ -From 41953a3b0b9ab807a23f542eec6f486ad692ed92 Mon Sep 17 00:00:00 2001 +From 3f2ef2cd1efd2df737cef1d41dfc030ea882d83c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Jan 2015 15:10:08 +0100 -Subject: [PATCH 293/436] block/mq: don't complete requests via IPI +Subject: [PATCH 293/437] block/mq: don't complete requests via IPI The IPI runs in hardirq context and there are sleeping locks. This patch moves the completion into a workqueue. @@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index d9310ff9920e..438be2860c26 100644 +index b3edf248d148..ec5c206bfbe5 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -116,6 +116,9 @@ void blk_rq_init(struct request_queue *q, struct request *rq) diff --git a/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch b/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch index 4f8847ba3..707d2052c 100644 --- a/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch @@ -1,7 +1,7 @@ -From 46df0e08c3b13b73127a72231fc5421ee8cdd4e6 Mon Sep 17 00:00:00 2001 +From b75ca677f946ade7c7cc82676cd903939960b896 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 294/436] md: raid5: Make raid5_percpu handling RT aware +Subject: [PATCH 294/437] md: raid5: Make raid5_percpu handling RT aware __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic diff --git a/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch b/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch index 0bfbebfa5..33fcd85e0 100644 --- a/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch +++ b/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch @@ -1,7 +1,7 @@ -From 0a7231856a83425667e7597ce0286af01d4277b1 Mon Sep 17 00:00:00 2001 +From 2705da3c07149ffffcefb1fa85526ac5c2034d12 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 17 Nov 2017 16:21:00 +0100 -Subject: [PATCH 295/436] md/raid5: do not disable interrupts +Subject: [PATCH 295/437] md/raid5: do not disable interrupts |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974 |in_atomic(): 0, irqs_disabled(): 1, pid: 2992, name: lvm diff --git a/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch b/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch index 328fcd531..d7051f811 100644 --- a/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch +++ b/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch @@ -1,7 +1,7 @@ -From c3ea54db9f1e02f7d80abbe5c041b6cf5335c883 Mon Sep 17 00:00:00 2001 +From 4989629587968edeece6338a9f20f6ebd07f4ada Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 296/436] rt: Introduce cpu_chill() +Subject: [PATCH 296/437] rt: Introduce cpu_chill() Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() diff --git a/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch b/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch index 53146cf3f..f0822474a 100644 --- a/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch +++ b/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch @@ -1,7 +1,7 @@ -From d2b3b03f857e2f73d801bc7259220ba8683e9f8b Mon Sep 17 00:00:00 2001 +From 23b34d8a6e474c7025ac9cddd5cddfba5dd2d56a Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 4 Mar 2014 12:28:32 -0500 -Subject: [PATCH 297/436] cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep +Subject: [PATCH 297/437] cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep We hit another bug that was caused by switching cpu_chill() from msleep() to hrtimer_nanosleep(). diff --git a/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch b/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch index 79de9d58d..2ed6e0a8c 100644 --- a/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch +++ b/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch @@ -1,7 +1,7 @@ -From 1ded3f00ce8eb2e8016a43d1cefa0590d07a5ab5 Mon Sep 17 00:00:00 2001 +From 7a5da5da915b3f847332aadcbc23c51673943579 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Mar 2018 13:07:59 +0100 -Subject: [PATCH 298/436] kernel/cpu_chill: use schedule_hrtimeout() +Subject: [PATCH 298/437] kernel/cpu_chill: use schedule_hrtimeout() If a task calls cpu_chill() and gets woken up by a regular or spurious wakeup and has a signal pending, then it exits the sleep loop in diff --git a/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch b/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch index 8689c2f16..a84355792 100644 --- a/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch +++ b/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch @@ -1,7 +1,7 @@ -From 55aebb70d0c96287f0139b5fecbbce900421daba Mon Sep 17 00:00:00 2001 +From 9c6140c9ba1a5991e6fb52bf1705d3129d255d3a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Mar 2018 15:04:49 +0100 -Subject: [PATCH 299/436] Revert "cpu_chill: Add a UNINTERRUPTIBLE +Subject: [PATCH 299/437] Revert "cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep" This reverts commit "cpu_chill: Add a UNINTERRUPTIBLE diff --git a/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch b/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch index 2527ddd95..84ddb2408 100644 --- a/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch +++ b/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch @@ -1,7 +1,7 @@ -From 971e7f8994dbef86bdf01c10e235a5e32d128c7d Mon Sep 17 00:00:00 2001 +From bbe072eda000ee970b84bf71ff4935f03c5b60af Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 3 May 2018 17:16:26 +0200 -Subject: [PATCH 300/436] rtmutex: annotate sleeping lock context +Subject: [PATCH 300/437] rtmutex: annotate sleeping lock context The RCU code complains on schedule() within a rcu_readlock() section. The valid scenario on -RT is if a sleeping is held. In order to suppress @@ -32,7 +32,7 @@ Signed-off-by: Sebastian Andrzej Siewior 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 52cf8d74b534..dc3c98d9f924 100644 +index 1689c832ffb3..675cbae7adfb 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -638,6 +638,9 @@ struct task_struct { @@ -45,7 +45,7 @@ index 52cf8d74b534..dc3c98d9f924 100644 #ifdef CONFIG_PREEMPT_RCU int rcu_read_lock_nesting; -@@ -1756,6 +1759,23 @@ static __always_inline bool need_resched(void) +@@ -1765,6 +1768,23 @@ static __always_inline bool need_resched(void) return unlikely(tif_need_resched()); } diff --git a/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch index 9b16a9c68..995698ce3 100644 --- a/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch +++ b/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch @@ -1,7 +1,7 @@ -From df1f27db69eccef6877e37d1e88180c7cf998e5b Mon Sep 17 00:00:00 2001 +From 223b2527af397368f3e5f2077b52fdb268896ccb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 13 Mar 2018 13:49:16 +0100 -Subject: [PATCH 301/436] block: blk-mq: move blk_queue_usage_counter_release() +Subject: [PATCH 301/437] block: blk-mq: move blk_queue_usage_counter_release() into process context | BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 @@ -52,10 +52,10 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 438be2860c26..f005077ae291 100644 +index ec5c206bfbe5..0aa5a80acb29 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -815,12 +815,21 @@ void blk_queue_exit(struct request_queue *q) +@@ -814,12 +814,21 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } @@ -78,7 +78,7 @@ index 438be2860c26..f005077ae291 100644 } static void blk_rq_timed_out_timer(unsigned long data) -@@ -897,6 +906,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) +@@ -896,6 +905,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags); init_waitqueue_head(&q->mq_freeze_wq); @@ -86,7 +86,7 @@ index 438be2860c26..f005077ae291 100644 /* * Init percpu_ref in atomic mode so that it's faster to shutdown. -@@ -3633,6 +3643,8 @@ int __init blk_dev_init(void) +@@ -3632,6 +3642,8 @@ int __init blk_dev_init(void) if (!kblockd_workqueue) panic("Failed to create kblockd\n"); diff --git a/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch b/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch index e5100fbb7..1b616a9b2 100644 --- a/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch +++ b/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch @@ -1,7 +1,7 @@ -From 7a862ee14845f42bad88b639eac42efcd5ea1b88 Mon Sep 17 00:00:00 2001 +From d6aea246f760b8cec55422e14f9c32d88c374b9a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 20 Dec 2012 18:28:26 +0100 -Subject: [PATCH 302/436] block: Use cpu_chill() for retry loops +Subject: [PATCH 302/437] block: Use cpu_chill() for retry loops Retry loops on RT might loop forever when the modifying side was preempted. Steven also observed a live lock when there was a diff --git a/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch b/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch index 135039284..77dc360bb 100644 --- a/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch +++ b/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch @@ -1,7 +1,7 @@ -From 50871ab4e47be72ec2fb0f74fb5b5eae93a15d4a Mon Sep 17 00:00:00 2001 +From 01650e0ff97ecbd4e530cbf632c89c771f118f37 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 303/436] fs: dcache: Use cpu_chill() in trylock loops +Subject: [PATCH 303/437] fs: dcache: Use cpu_chill() in trylock loops Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -93,7 +93,7 @@ index 8aa63a9d18cd..c00380d37a3a 100644 } dentry->d_flags &= ~DCACHE_CANT_MOUNT; diff --git a/fs/namespace.c b/fs/namespace.c -index 63c157047e4d..85bfe5e55adf 100644 +index 47bfbb592a2c..991a2054bad9 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -14,6 +14,7 @@ diff --git a/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch b/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch index 1a64c580e..ee6579bbd 100644 --- a/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch +++ b/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch @@ -1,7 +1,7 @@ -From 7217b959c0ceb77be91d2dfd3c8a946afbceea95 Mon Sep 17 00:00:00 2001 +From 14d569f6fbc1999e18cc2797ddcd081b35e96f69 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:10:04 +0100 -Subject: [PATCH 304/436] net: Use cpu_chill() instead of cpu_relax() +Subject: [PATCH 304/437] net: Use cpu_chill() instead of cpu_relax() Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c -index 8d1a7c900393..f1f56be3b061 100644 +index 88d5b2645bb0..02e6ec558a58 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -63,6 +63,7 @@ diff --git a/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch b/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch index 72d9332ac..a9c0efd2f 100644 --- a/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch +++ b/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch @@ -1,7 +1,7 @@ -From e374adab1aacdaa8b6ebbd3255fb7038e625818e Mon Sep 17 00:00:00 2001 +From 8c595a9fc23f592ba05a3f15f845c66465baa0e4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 14:35:49 +0200 -Subject: [PATCH 305/436] fs/dcache: use swait_queue instead of waitqueue +Subject: [PATCH 305/437] fs/dcache: use swait_queue instead of waitqueue __d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock() which disables preemption. As a workaround convert it to swait. @@ -97,10 +97,10 @@ index 29868c35c19a..76d354eee035 100644 if (!o->nodeid) { /* diff --git a/fs/namei.c b/fs/namei.c -index 0b46b858cd42..f5c6c2ec44ce 100644 +index d1e467b7b9de..895363adbd32 100644 --- a/fs/namei.c +++ b/fs/namei.c -@@ -1627,7 +1627,7 @@ static struct dentry *lookup_slow(const struct qstr *name, +@@ -1668,7 +1668,7 @@ static struct dentry *lookup_slow(const struct qstr *name, { struct dentry *dentry = ERR_PTR(-ENOENT), *old; struct inode *inode = dir->d_inode; @@ -109,7 +109,7 @@ index 0b46b858cd42..f5c6c2ec44ce 100644 inode_lock_shared(inode); /* Don't go there if it's already dead */ -@@ -3100,7 +3100,7 @@ static int lookup_open(struct nameidata *nd, struct path *path, +@@ -3141,7 +3141,7 @@ static int lookup_open(struct nameidata *nd, struct path *path, struct dentry *dentry; int error, create_error = 0; umode_t mode = op->mode; diff --git a/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch b/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch index 7c86612ad..3f33b194e 100644 --- a/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch +++ b/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch @@ -1,7 +1,7 @@ -From 2b75ea70d6f3930122715b93be034492851dc4fb Mon Sep 17 00:00:00 2001 +From a2a559cbb22d6441d6ae9667b0a96aae156634a1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 24 Jul 2013 15:26:54 +0200 -Subject: [PATCH 306/436] workqueue: Use normal rcu +Subject: [PATCH 306/437] workqueue: Use normal rcu There is no need for sched_rcu. The undocumented reason why sched_rcu is used is to avoid a few explicit rcu_read_lock()/unlock() pairs by diff --git a/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch b/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch index 553ceb627..a22f24fb9 100644 --- a/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch +++ b/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch @@ -1,7 +1,7 @@ -From 54a0ef3f64b7c69d58c0c24005bed5033a9d7def Mon Sep 17 00:00:00 2001 +From 2077501f424bee3e44c9796c85083ba395b2f85f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:42:26 +0200 -Subject: [PATCH 307/436] workqueue: Use local irq lock instead of irq disable +Subject: [PATCH 307/437] workqueue: Use local irq lock instead of irq disable regions Use a local_irq_lock as a replacement for irq off regions. We keep the diff --git a/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch b/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch index fd1f6f0f8..c604969fc 100644 --- a/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch +++ b/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch @@ -1,7 +1,7 @@ -From 5bdcef60b43bef894e71ffc190146f7dd2e58c7d Mon Sep 17 00:00:00 2001 +From f01d9be16d6f9f10226fdfe059747e3234a58827 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 1 Jul 2013 11:02:42 +0200 -Subject: [PATCH 308/436] workqueue: Prevent workqueue versus ata-piix livelock +Subject: [PATCH 308/437] workqueue: Prevent workqueue versus ata-piix livelock An Intel i7 system regularly detected rcu_preempt stalls after the kernel was upgraded from 3.6-rt to 3.8-rt. When the stall happened, disk I/O was no diff --git a/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch b/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch index 2c2e9254e..a1a559eb3 100644 --- a/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch +++ b/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch @@ -1,7 +1,7 @@ -From 0455016aebf6a6a0ce90ce710ec7ee8241e8bb1e Mon Sep 17 00:00:00 2001 +From 658a6d6a81af4d03fff5e502932460e169becf3f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:03 +0200 -Subject: [PATCH 309/436] sched: Distangle worker accounting from rqlock +Subject: [PATCH 309/437] sched: Distangle worker accounting from rqlock The worker accounting for cpu bound workers is plugged into the core scheduler code and the wakeup code. This is not a hard requirement and @@ -30,7 +30,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 41 insertions(+), 100 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index ab6ec5fb6796..d3369a9bd607 100644 +index 44c22ff3e6fe..c304127bee78 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1733,10 +1733,6 @@ static inline void ttwu_activate(struct rq *rq, struct task_struct *p, int en_fl diff --git a/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch b/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch index cd3c48d71..96d6ab4a3 100644 --- a/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch +++ b/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch @@ -1,7 +1,7 @@ -From d1c2edc0cfac372ce81a802a095d8e9fb60dcad5 Mon Sep 17 00:00:00 2001 +From a6c51384a63d6f33598449898ed3f0c63ec0410e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Apr 2014 11:58:17 +0200 -Subject: [PATCH 310/436] percpu_ida: Use local locks +Subject: [PATCH 310/437] percpu_ida: Use local locks the local_irq_save() + spin_lock() does not work that well on -RT diff --git a/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch b/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch index 56bf0e6e4..06a713b53 100644 --- a/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch @@ -1,7 +1,7 @@ -From 93448707bb8f5d58d2cddf4588d711204f4df6ff Mon Sep 17 00:00:00 2001 +From ff1fd4c04ee29a12cf2ef8a3395461f27c6f63fe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:41:35 +0200 -Subject: [PATCH 311/436] debugobjects: Make RT aware +Subject: [PATCH 311/437] debugobjects: Make RT aware Avoid filling the pool / allocating memory with irqs off(). diff --git a/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch b/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch index 279d1b030..a264d5ab5 100644 --- a/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch +++ b/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch @@ -1,7 +1,7 @@ -From c8b8f39bff654381b539afb88f3a06a3c2211317 Mon Sep 17 00:00:00 2001 +From 970af03df6bb4a2408523359ee340a9062597e37 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Jul 2015 17:14:48 +0200 -Subject: [PATCH 312/436] jump-label: disable if stop_machine() is used +Subject: [PATCH 312/437] jump-label: disable if stop_machine() is used Some architectures are using stop_machine() while switching the opcode which leads to latency spikes. diff --git a/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch b/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch index 6072bffb0..d59dc2512 100644 --- a/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch +++ b/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch @@ -1,7 +1,7 @@ -From 5792e4376b59ed9215a8fd40660bcf0e9bc9cac4 Mon Sep 17 00:00:00 2001 +From 031a7a902e23165e75d54bd19d84fd30d969624c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Feb 2012 12:03:30 +0100 -Subject: [PATCH 313/436] seqlock: Prevent rt starvation +Subject: [PATCH 313/437] seqlock: Prevent rt starvation If a low prio writer gets preempted while holding the seqlock write locked, a high prio reader spins forever on RT. diff --git a/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch b/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch index 015e7875d..eb2156be4 100644 --- a/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch +++ b/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch @@ -1,7 +1,7 @@ -From 7bac8f719dba2ad13d81cb8a3ca0530035176de7 Mon Sep 17 00:00:00 2001 +From f234a2ed83e2717ba6f33d8c22ba5f9172f47ddf Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 16:05:28 +0100 -Subject: [PATCH 314/436] sunrpc: Make svc_xprt_do_enqueue() use +Subject: [PATCH 314/437] sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 @@ -34,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c -index d16a8b423c20..cedaf909eb97 100644 +index ea7b5a3a53f0..7d24cb5ea450 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -396,7 +396,7 @@ void svc_xprt_do_enqueue(struct svc_xprt *xprt) diff --git a/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch b/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch index b742bba2b..954091475 100644 --- a/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch +++ b/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch @@ -1,7 +1,7 @@ -From 4c72f3192ef5f2b8e3f32a1b058088f9615b01c0 Mon Sep 17 00:00:00 2001 +From eb7077b932491031b0470d697306c842b256a424 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 315/436] net: Use skbufhead with raw lock +Subject: [PATCH 315/437] net: Use skbufhead with raw lock Use the rps lock as rawlock so we can keep irq-off regions. It looks low latency. However we can't kfree() from this context therefore we defer this @@ -27,7 +27,7 @@ index a516dbe5869f..fd318a3b4fc1 100644 }; diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index f64e88444082..07576a062ac0 100644 +index f6250555ce7d..e3d27db9d4ae 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -287,6 +287,7 @@ struct sk_buff_head { @@ -38,7 +38,7 @@ index f64e88444082..07576a062ac0 100644 }; struct sk_buff; -@@ -1672,6 +1673,12 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) +@@ -1688,6 +1689,12 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) __skb_queue_head_init(list); } @@ -52,7 +52,7 @@ index f64e88444082..07576a062ac0 100644 struct lock_class_key *class) { diff --git a/net/core/dev.c b/net/core/dev.c -index 2400b73f79b2..42b67c735314 100644 +index 8972786d17de..b26b1b82f680 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -217,14 +217,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex) @@ -97,7 +97,7 @@ index 2400b73f79b2..42b67c735314 100644 } static void flush_all_backlogs(void) -@@ -5191,7 +5194,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5195,7 +5198,9 @@ static int process_backlog(struct napi_struct *napi, int quota) while (again) { struct sk_buff *skb; @@ -107,7 +107,7 @@ index 2400b73f79b2..42b67c735314 100644 rcu_read_lock(); __netif_receive_skb(skb); rcu_read_unlock(); -@@ -5199,9 +5204,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5203,9 +5208,9 @@ static int process_backlog(struct napi_struct *napi, int quota) if (++work >= quota) return work; @@ -118,7 +118,7 @@ index 2400b73f79b2..42b67c735314 100644 rps_lock(sd); if (skb_queue_empty(&sd->input_pkt_queue)) { /* -@@ -5641,13 +5646,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) +@@ -5645,13 +5650,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) unsigned long time_limit = jiffies + usecs_to_jiffies(netdev_budget_usecs); int budget = netdev_budget; @@ -140,7 +140,7 @@ index 2400b73f79b2..42b67c735314 100644 for (;;) { struct napi_struct *n; -@@ -8464,6 +8477,9 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -8468,6 +8481,9 @@ static int dev_cpu_dead(unsigned int oldcpu) netif_rx_ni(skb); input_queue_head_incr(oldsd); } @@ -150,7 +150,7 @@ index 2400b73f79b2..42b67c735314 100644 return 0; } -@@ -8767,8 +8783,9 @@ static int __init net_dev_init(void) +@@ -8771,8 +8787,9 @@ static int __init net_dev_init(void) INIT_WORK(flush, flush_backlog); diff --git a/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch b/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch index 161bbe2b4..e2c9f4f5b 100644 --- a/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch +++ b/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch @@ -1,7 +1,7 @@ -From 5d7621b4451b7137b25557c94a41711d1373eb3f Mon Sep 17 00:00:00 2001 +From eb700e9352fbbbe85063578727f9d03235f6a0ac Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Fri, 9 Oct 2015 09:25:49 -0500 -Subject: [PATCH 316/436] net/core/cpuhotplug: Drain input_pkt_queue lockless +Subject: [PATCH 316/437] net/core/cpuhotplug: Drain input_pkt_queue lockless I can constantly see below error report with 4.1 RT-kernel on TI ARM dra7-evm if I'm trying to unplug cpu1: @@ -35,10 +35,10 @@ Cc: stable-rt@vger.kernel.org 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 42b67c735314..494d90f828c1 100644 +index b26b1b82f680..093b2bf46ce7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -8473,7 +8473,7 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -8477,7 +8477,7 @@ static int dev_cpu_dead(unsigned int oldcpu) netif_rx_ni(skb); input_queue_head_incr(oldsd); } diff --git a/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch b/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch index 4fedb3dce..5b3a91b9f 100644 --- a/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch @@ -1,7 +1,7 @@ -From cba9a4a529c8122ceaa90f8a9347c54c09c2009e Mon Sep 17 00:00:00 2001 +From 60d98d8d56aaf5ef8a9c8f74d26326df8fba4a24 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Jan 2016 15:55:02 +0100 -Subject: [PATCH 317/436] net: move xmit_recursion to per-task variable on -RT +Subject: [PATCH 317/437] net: move xmit_recursion to per-task variable on -RT A softirq on -RT can be preempted. That means one task is in __dev_queue_xmit(), gets preempted and another task may enter @@ -82,7 +82,7 @@ index fd318a3b4fc1..4480f0907e55 100644 struct net_device *__dev_get_by_index(struct net *net, int ifindex); struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex); diff --git a/include/linux/sched.h b/include/linux/sched.h -index dc3c98d9f924..33d7cb59c00b 100644 +index 675cbae7adfb..ff13666bc6dd 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1155,6 +1155,9 @@ struct task_struct { @@ -96,7 +96,7 @@ index dc3c98d9f924..33d7cb59c00b 100644 int pagefault_disabled; #ifdef CONFIG_MMU diff --git a/net/core/dev.c b/net/core/dev.c -index 494d90f828c1..47e2f8c53c0e 100644 +index 093b2bf46ce7..73161f5455d1 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3270,8 +3270,10 @@ static void skb_update_prio(struct sk_buff *skb) diff --git a/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch b/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch index 80712ca3c..fa036d541 100644 --- a/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch +++ b/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch @@ -1,7 +1,7 @@ -From 53039569e903c8d7ba3c851dfc82a20a81734c1a Mon Sep 17 00:00:00 2001 +From 3a58c2a589dd012d6bc31e7f0b2c4415f1b3903c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Feb 2018 10:39:54 +0100 -Subject: [PATCH 318/436] net: use task_struct instead of CPU number as the +Subject: [PATCH 318/437] net: use task_struct instead of CPU number as the queue owner on -RT In commit ("net: move xmit_recursion to per-task variable on -RT") the @@ -124,7 +124,7 @@ index 4480f0907e55..6b891e37d8e3 100644 } diff --git a/net/core/dev.c b/net/core/dev.c -index 47e2f8c53c0e..d863eec99b08 100644 +index 73161f5455d1..8d35a35d99a0 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3513,7 +3513,11 @@ static int __dev_queue_xmit(struct sk_buff *skb, void *accel_priv) @@ -139,7 +139,7 @@ index 47e2f8c53c0e..d863eec99b08 100644 if (unlikely(xmit_rec_read() > XMIT_RECURSION_LIMIT)) goto recursion_alert; -@@ -7520,7 +7524,7 @@ static void netdev_init_one_queue(struct net_device *dev, +@@ -7524,7 +7528,7 @@ static void netdev_init_one_queue(struct net_device *dev, /* Initialize queue lock */ spin_lock_init(&queue->_xmit_lock); netdev_set_xmit_lockdep_class(&queue->_xmit_lock, dev->type); diff --git a/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch b/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch index ebaf2097a..b5f2ad506 100644 --- a/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch +++ b/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch @@ -1,7 +1,7 @@ -From f22f997fd729a72c567a77f495227c2ae6b8854f Mon Sep 17 00:00:00 2001 +From b6f4517055f64f0afefa8fd3c16340334709b6eb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 15:39:05 +0100 -Subject: [PATCH 319/436] net: provide a way to delegate processing a softirq +Subject: [PATCH 319/437] net: provide a way to delegate processing a softirq to ksoftirqd If the NET_RX uses up all of his budget it moves the following NAPI @@ -71,10 +71,10 @@ index da87715b10be..e3f89bcef432 100644 * This function must run with irqs disabled! */ diff --git a/net/core/dev.c b/net/core/dev.c -index d863eec99b08..96954b561196 100644 +index 8d35a35d99a0..b5f1f2c51297 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5695,7 +5695,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) +@@ -5699,7 +5699,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) list_splice_tail(&repoll, &list); list_splice(&list, &sd->poll_list); if (!list_empty(&sd->poll_list)) diff --git a/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch b/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch index 74b56bd0a..c98e5bd9e 100644 --- a/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch +++ b/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch @@ -1,7 +1,7 @@ -From 43b3f7937498f8c38283b4ec35ac7f2dac320c9b Mon Sep 17 00:00:00 2001 +From 955191c007edaf54336e0134d4f19f96ece44d8a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 30 Mar 2016 13:36:29 +0200 -Subject: [PATCH 320/436] net: dev: always take qdisc's busylock in +Subject: [PATCH 320/437] net: dev: always take qdisc's busylock in __dev_xmit_skb() The root-lock is dropped before dev_hard_start_xmit() is invoked and after @@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 4 insertions(+) diff --git a/net/core/dev.c b/net/core/dev.c -index 96954b561196..a69095902278 100644 +index b5f1f2c51297..0b2abcfce03a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3199,7 +3199,11 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q, diff --git a/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch b/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch index 0c7fe0569..5e58e43bf 100644 --- a/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch +++ b/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch @@ -1,7 +1,7 @@ -From fabe6c9378466635398874bd6cb51029798f92bf Mon Sep 17 00:00:00 2001 +From ffd70bea069b587528d5136ff594181e0ba1f75f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 17:36:35 +0200 -Subject: [PATCH 321/436] net/Qdisc: use a seqlock instead seqcount +Subject: [PATCH 321/437] net/Qdisc: use a seqlock instead seqcount The seqcount disables preemption on -RT while it is held which can't remove. Also we don't want the reader to spin for ages if the writer is @@ -242,7 +242,7 @@ index 441c04adedba..07f9a6a1f8e4 100644 struct gnet_stats_basic_cpu __percpu *cpu, struct gnet_stats_basic_packed *b) diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c -index cd69aa067543..73348ac5019f 100644 +index 7b4270987ac1..4a2f63501c02 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -1081,7 +1081,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev, diff --git a/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch b/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch index 7d52489d6..468545fad 100644 --- a/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch +++ b/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch @@ -1,7 +1,7 @@ -From ffe854eb5cfec5c0236abcdcdeb80522824f6909 Mon Sep 17 00:00:00 2001 +From 8b60687c87f5161e598d231c4e9c28a467a8e567 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:21:56 +0200 -Subject: [PATCH 322/436] net: add back the missing serialization in +Subject: [PATCH 322/437] net: add back the missing serialization in ip_send_unicast_reply() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch b/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch index dec9bf879..ee4d628da 100644 --- a/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch +++ b/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch @@ -1,7 +1,7 @@ -From dfcd1aa11c10c89fe9846cad3eb91005332a8a2f Mon Sep 17 00:00:00 2001 +From f63534d5a04a3fe4e7501e511d51e271e8884efe Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Aug 2017 15:09:13 +0200 -Subject: [PATCH 323/436] net: take the tcp_sk_lock lock with BH disabled +Subject: [PATCH 323/437] net: take the tcp_sk_lock lock with BH disabled Lockdep may complain about an unsafe locking scenario: | CPU0 CPU1 diff --git a/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch b/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch index 1bd9a543c..365f2c6cd 100644 --- a/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch +++ b/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch @@ -1,7 +1,7 @@ -From 181d6fd0281c74e9bdc88b705fbe7005b3e13476 Mon Sep 17 00:00:00 2001 +From b0befb6b2f25d200ec4d384aae4fbf621f6e41d7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:54:09 +0200 -Subject: [PATCH 324/436] net: add a lock around icmp_sk() +Subject: [PATCH 324/437] net: add a lock around icmp_sk() It looks like the this_cpu_ptr() access in icmp_sk() is protected with local_bh_disable(). To avoid missing serialization in -RT I am adding diff --git a/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch b/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch index 2126a39a6..a211433b2 100644 --- a/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch +++ b/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch @@ -1,7 +1,7 @@ -From 32e745c52bc18d10eb4c81a0e474e64f4985067e Mon Sep 17 00:00:00 2001 +From babaed17d873a03392afd8ffb8244cebee8146fe Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 14:42:04 +0200 -Subject: [PATCH 325/436] net: use trylock in icmp_sk +Subject: [PATCH 325/437] net: use trylock in icmp_sk The locking path can be recursive (same as for sk->sk_lock.slock) and therefore we need a trylock version for the locallock, too. diff --git a/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch b/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch index 03d8ae63a..1473a2a09 100644 --- a/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch +++ b/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch @@ -1,7 +1,7 @@ -From 2a9ffe4b0487f9e9a4ce951149513fabe80630e2 Mon Sep 17 00:00:00 2001 +From b15c950527882f5fb205a4aaabf11a32fcde90de Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 6 Dec 2016 17:50:30 -0500 -Subject: [PATCH 326/436] net: Have __napi_schedule_irqoff() disable interrupts +Subject: [PATCH 326/437] net: Have __napi_schedule_irqoff() disable interrupts on RT A customer hit a crash where the napi sd->poll_list became corrupted. @@ -52,10 +52,10 @@ index 6b891e37d8e3..3ceccf72757e 100644 static inline bool napi_disable_pending(struct napi_struct *n) { diff --git a/net/core/dev.c b/net/core/dev.c -index a69095902278..2c2b432fcec5 100644 +index 0b2abcfce03a..8f40b36c2ec3 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5290,6 +5290,7 @@ bool napi_schedule_prep(struct napi_struct *n) +@@ -5294,6 +5294,7 @@ bool napi_schedule_prep(struct napi_struct *n) } EXPORT_SYMBOL(napi_schedule_prep); @@ -63,7 +63,7 @@ index a69095902278..2c2b432fcec5 100644 /** * __napi_schedule_irqoff - schedule for receive * @n: entry to schedule -@@ -5301,6 +5302,7 @@ void __napi_schedule_irqoff(struct napi_struct *n) +@@ -5305,6 +5306,7 @@ void __napi_schedule_irqoff(struct napi_struct *n) ____napi_schedule(this_cpu_ptr(&softnet_data), n); } EXPORT_SYMBOL(__napi_schedule_irqoff); diff --git a/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch b/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch index d7655ba10..f426985e5 100644 --- a/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch +++ b/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch @@ -1,7 +1,7 @@ -From a9b7eeec1010037ed0ecbdb857adb46803e18d6c Mon Sep 17 00:00:00 2001 +From 38e63f2f170b11dc5d7d899f6f47987c9780d06c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 23 Jun 2015 15:32:51 +0200 -Subject: [PATCH 327/436] irqwork: push most work into softirq context +Subject: [PATCH 327/437] irqwork: push most work into softirq context Initially we defered all irqwork into softirq because we didn't want the latency spikes if perf or another user was busy and delayed the RT task. diff --git a/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch b/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch index 0836e4cf2..c9acd0f34 100644 --- a/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch +++ b/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch @@ -1,7 +1,7 @@ -From bff2a2c94668887ade3eb1066fce7b55c52ee4ea Mon Sep 17 00:00:00 2001 +From 7b1fee64ed369ee92692ea1690d11461950f8f9d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 15 Nov 2015 18:40:17 +0100 -Subject: [PATCH 328/436] irqwork: Move irq safe work to irq context +Subject: [PATCH 328/437] irqwork: Move irq safe work to irq context On architectures where arch_irq_work_has_interrupt() returns false, we end up running the irq safe work from the softirq context. That diff --git a/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch b/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch index a3f64e0c3..91bbba719 100644 --- a/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch +++ b/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch @@ -1,7 +1,7 @@ -From 46ad2dd7f954f0503bd6bb871724ce2bcf728a5e Mon Sep 17 00:00:00 2001 +From f2c0ec10c4936c60a5619e06c6c3ed3bcb69c51f Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 15:09:23 +0100 -Subject: [PATCH 329/436] snd/pcm: fix snd_pcm_stream_lock*() irqs_disabled() +Subject: [PATCH 329/437] snd/pcm: fix snd_pcm_stream_lock*() irqs_disabled() splats Locking functions previously using read_lock_irq()/read_lock_irqsave() were diff --git a/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch b/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch index fd7b4aa92..4b91a36ad 100644 --- a/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch +++ b/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch @@ -1,7 +1,7 @@ -From 2dce40038048a6a91012e693f26d00a5a8eacab6 Mon Sep 17 00:00:00 2001 +From 39baf9e4fb2678d4d977ab5c833063a28814935d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Sep 2012 14:50:37 +0200 -Subject: [PATCH 330/436] printk: Make rt aware +Subject: [PATCH 330/437] printk: Make rt aware Drop the lock before calling the console driver and do not disable interrupts while printing to a serial console. @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index fec67b9d0fad..60786d701bfe 100644 +index 9c946617baae..febac6df82d2 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1558,6 +1558,7 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, +@@ -1563,6 +1563,7 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, if (!console_drivers) return; @@ -23,7 +23,7 @@ index fec67b9d0fad..60786d701bfe 100644 for_each_console(con) { if (exclusive_console && con != exclusive_console) continue; -@@ -1573,6 +1574,7 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, +@@ -1578,6 +1579,7 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, else con->write(con, text, len); } @@ -31,7 +31,7 @@ index fec67b9d0fad..60786d701bfe 100644 } int printk_delay_msec __read_mostly; -@@ -1757,12 +1759,22 @@ asmlinkage int vprintk_emit(int facility, int level, +@@ -1762,6 +1764,16 @@ asmlinkage int vprintk_emit(int facility, int level, /* If called from the scheduler, we can not call up(). */ if (!in_sched) { @@ -46,16 +46,18 @@ index fec67b9d0fad..60786d701bfe 100644 + may_trylock = 0; +#endif /* - * Try to acquire and then immediately release the console + * Disable preemption to avoid being preempted while holding + * console_sem which would prevent anyone from printing to +@@ -1773,7 +1785,7 @@ asmlinkage int vprintk_emit(int facility, int level, * semaphore. The release will print out buffers and wake up * /dev/kmsg and syslog() users. */ - if (console_trylock()) + if (may_trylock && console_trylock()) console_unlock(); + preempt_enable(); } - -@@ -2218,10 +2230,15 @@ void console_unlock(void) +@@ -2217,10 +2229,15 @@ void console_unlock(void) console_seq++; raw_spin_unlock(&logbuf_lock); diff --git a/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch b/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch index 5714bcbfc..8bb78062c 100644 --- a/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch +++ b/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch @@ -1,7 +1,7 @@ -From a6994be2af91e38d642884cc8d43a62d205ccd85 Mon Sep 17 00:00:00 2001 +From eb5db28c8bde4025a99c5ae984a59e27bee2c978 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 19 May 2016 17:45:27 +0200 -Subject: [PATCH 331/436] kernel/printk: Don't try to print from IRQ/NMI region +Subject: [PATCH 331/437] kernel/printk: Don't try to print from IRQ/NMI region On -RT we try to acquire sleeping locks which might lead to warnings from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on @@ -15,10 +15,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 10 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index 60786d701bfe..741bf27bb73c 100644 +index febac6df82d2..9b0deab74376 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1558,6 +1558,11 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, +@@ -1563,6 +1563,11 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, if (!console_drivers) return; @@ -30,7 +30,7 @@ index 60786d701bfe..741bf27bb73c 100644 migrate_disable(); for_each_console(con) { if (exclusive_console && con != exclusive_console) -@@ -2292,6 +2297,11 @@ void console_unblank(void) +@@ -2291,6 +2296,11 @@ void console_unblank(void) { struct console *c; diff --git a/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch b/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch index deda8a63e..b6db05f9c 100644 --- a/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch +++ b/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch @@ -1,7 +1,7 @@ -From 9e9d0ac7c936a0f8902f842782cb6014cfb9b2c7 Mon Sep 17 00:00:00 2001 +From 72626dd71e5dbdbf829cd3383c77b9b825c75580 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Mar 2013 19:01:05 +0100 -Subject: [PATCH 332/436] printk: Drop the logbuf_lock more often +Subject: [PATCH 332/437] printk: Drop the logbuf_lock more often 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. @@ -12,10 +12,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 27 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index 741bf27bb73c..13fd0bcf2367 100644 +index 9b0deab74376..8a7c4f79fca0 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1348,6 +1348,8 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1353,6 +1353,8 @@ static int syslog_print_all(char __user *buf, int size, bool clear) { char *text; int len = 0; @@ -24,7 +24,7 @@ index 741bf27bb73c..13fd0bcf2367 100644 text = kmalloc(LOG_LINE_MAX + PREFIX_MAX, GFP_KERNEL); if (!text) -@@ -1359,6 +1361,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1364,6 +1366,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) u64 seq; u32 idx; @@ -39,7 +39,7 @@ index 741bf27bb73c..13fd0bcf2367 100644 /* * Find first record that fits, including all following records, * into the user-provided buffer for this dump. -@@ -1371,6 +1381,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1376,6 +1386,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) len += msg_print_text(msg, true, NULL, 0); idx = log_next(idx); seq++; @@ -54,7 +54,7 @@ index 741bf27bb73c..13fd0bcf2367 100644 } /* move first record forward until length fits into the buffer */ -@@ -1382,6 +1400,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1387,6 +1405,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) len -= msg_print_text(msg, true, NULL, 0); idx = log_next(idx); seq++; @@ -69,7 +69,7 @@ index 741bf27bb73c..13fd0bcf2367 100644 } /* last message fitting into this dump */ -@@ -1420,6 +1446,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1425,6 +1451,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear) clear_seq = log_next_seq; clear_idx = log_next_idx; } diff --git a/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch b/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch index d5bf53fa7..24babdf87 100644 --- a/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch @@ -1,7 +1,7 @@ -From 2db75657015f402469357a2ab295508df32f46cb Mon Sep 17 00:00:00 2001 +From c4f30b023108b32cdde949289c5c88ff2c768ade Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 333/436] powerpc: Use generic rwsem on RT +Subject: [PATCH 333/437] powerpc: Use generic rwsem on RT Use generic code which uses rtmutex diff --git a/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch index bc2acf115..1cc88b819 100644 --- a/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch +++ b/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch @@ -1,7 +1,7 @@ -From 4fa7ca397a998e2ac319cc099b38843026303b8e Mon Sep 17 00:00:00 2001 +From 3ad770b2da9426e57ddd9c91e8c28b6c5705b043 Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Fri, 24 Apr 2015 15:53:13 +0000 -Subject: [PATCH 334/436] powerpc/kvm: Disable in-kernel MPIC emulation for +Subject: [PATCH 334/437] powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT_FULL While converting the openpic emulation code to use a raw_spinlock_t enables diff --git a/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch b/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch index fe6979d98..7fd7a9ca5 100644 --- a/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch +++ b/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch @@ -1,7 +1,7 @@ -From caea7debd223a86f5cb262faf5f1c60d1ff9d2c9 Mon Sep 17 00:00:00 2001 +From 195da94d715c74d541c2decfba84b3f14b56c909 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Sun, 31 May 2015 14:44:42 -0400 -Subject: [PATCH 335/436] powerpc: ps3/device-init.c - adapt to completions +Subject: [PATCH 335/437] powerpc: ps3/device-init.c - adapt to completions using swait vs wait To fix: diff --git a/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch b/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch index 078c5940f..d9e0c1382 100644 --- a/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch @@ -1,7 +1,7 @@ -From 83c14dd338fa1fc185a1f0fc36b7a9944ead532e Mon Sep 17 00:00:00 2001 +From 6587bc3d8e7b714bea195a2541f81cb77dccbe5a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 May 2010 18:29:35 +0200 -Subject: [PATCH 336/436] ARM: at91: tclib: Default to tclib timer for RT +Subject: [PATCH 336/437] ARM: at91: tclib: Default to tclib timer for RT RT is not too happy about the shared timer interrupt in AT91 devices. Default to tclib timer for RT. diff --git a/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch b/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch index 718f245c8..f5fbc820f 100644 --- a/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch +++ b/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch @@ -1,7 +1,7 @@ -From 8019daf670fba931a731fdbb8ec7f18304896f7b Mon Sep 17 00:00:00 2001 +From 84c7064aa5cc108e31e9b32fbdb3c56d0d6c82b4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Sep 2013 14:31:54 +0200 -Subject: [PATCH 337/436] arm/unwind: use a raw_spin_lock +Subject: [PATCH 337/437] arm/unwind: use a raw_spin_lock Mostly unwind is done with irqs enabled however SLUB may call it with irqs disabled while creating a new SLUB cache. diff --git a/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch b/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch index 07b9b2425..38348a109 100644 --- a/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch +++ b/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch @@ -1,7 +1,7 @@ -From b62a72caf4c1308be7405497dc2489b185a06234 Mon Sep 17 00:00:00 2001 +From e595f5980764a8964b43d1b292a3b978bbf0d774 Mon Sep 17 00:00:00 2001 From: "Yadi.hu" Date: Wed, 10 Dec 2014 10:32:09 +0800 -Subject: [PATCH 338/436] ARM: enable irq in translation/section permission +Subject: [PATCH 338/437] ARM: enable irq in translation/section permission fault handlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch b/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch index 913598504..c2d1d03cf 100644 --- a/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch +++ b/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch @@ -1,7 +1,7 @@ -From 51d94f88b5b7e91665c5dafce7b49e4789ae3041 Mon Sep 17 00:00:00 2001 +From 10496b07541c3e46e56e399f85ff66022b78b153 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:00 -0600 -Subject: [PATCH 339/436] genirq: update irq_set_irqchip_state documentation +Subject: [PATCH 339/437] genirq: update irq_set_irqchip_state documentation On -rt kernels, the use of migrate_disable()/migrate_enable() is sufficient to guarantee a task isn't moved to another CPU. Update the @@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 761d6e6caef1..967c0bfc9f3b 100644 +index d4d993c27ac0..400eca839bcc 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -2209,7 +2209,7 @@ EXPORT_SYMBOL_GPL(irq_get_irqchip_state); +@@ -2213,7 +2213,7 @@ EXPORT_SYMBOL_GPL(irq_get_irqchip_state); * This call sets the internal irqchip state of an interrupt, * depending on the value of @which. * diff --git a/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch b/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch index dfe5060db..2da7b165c 100644 --- a/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch +++ b/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch @@ -1,7 +1,7 @@ -From 87c87ce40ea5540075906896d99ba9b3f111719e Mon Sep 17 00:00:00 2001 +From 1e13ef754a632ffc5908b83d70b67325ab4edee8 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:01 -0600 -Subject: [PATCH 340/436] KVM: arm/arm64: downgrade preempt_disable()d region +Subject: [PATCH 340/437] KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating @@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c -index 0099cce0e264..c09e04130bfe 100644 +index 045aa39b14c1..bdf11f40ce34 100644 --- a/virt/kvm/arm/arm.c +++ b/virt/kvm/arm/arm.c @@ -651,7 +651,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) diff --git a/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch b/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch index e0e65d4fc..c3e8e1378 100644 --- a/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch @@ -1,7 +1,7 @@ -From 93d1e331b29615086f70320c9427a3de3b2f6eee Mon Sep 17 00:00:00 2001 +From 876d09f497787b832cb9abdd4e684220071ee0cc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 12 Oct 2015 11:18:40 +0200 -Subject: [PATCH 341/436] arm64/xen: Make XEN depend on !RT +Subject: [PATCH 341/437] arm64/xen: Make XEN depend on !RT It's not ready and probably never will be, unless xen folks have a look at it. diff --git a/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch b/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch index 126eb178d..05f58eef3 100644 --- a/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch +++ b/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch @@ -1,7 +1,7 @@ -From 384eea24318d7aac543e641fac17bece675c017b Mon Sep 17 00:00:00 2001 +From 72ac596912e69a9196b10e55a7893aa790795328 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Thu, 28 Jul 2011 12:42:23 -0500 -Subject: [PATCH 342/436] kgdb/serial: Short term workaround +Subject: [PATCH 342/437] kgdb/serial: Short term workaround On 07/27/2011 04:37 PM, Thomas Gleixner wrote: > - KGDB (not yet disabled) is reportedly unusable on -rt right now due @@ -65,10 +65,10 @@ index 68bd88223417..e033b25b0b72 100644 static inline int kdb_register(char *cmd, kdb_func_t func, char *usage, char *help, short minlen) { return 0; } diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c -index ed5d34925ad0..c0d4c24fc241 100644 +index 6a4b41484afe..197cb422f6e1 100644 --- a/kernel/debug/kdb/kdb_io.c +++ b/kernel/debug/kdb/kdb_io.c -@@ -854,9 +854,11 @@ int kdb_printf(const char *fmt, ...) +@@ -857,9 +857,11 @@ int kdb_printf(const char *fmt, ...) va_list ap; int r; diff --git a/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch b/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch index 82e4568da..04611a9f7 100644 --- a/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch +++ b/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch @@ -1,7 +1,7 @@ -From e1f52947793cb183b2578454e7cd34a722fc7724 Mon Sep 17 00:00:00 2001 +From 4b9a22a36e9791e67a615fe2e3ea774b42cf22ce Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 343/436] sysfs: Add /sys/kernel/realtime entry +Subject: [PATCH 343/437] sysfs: Add /sys/kernel/realtime entry Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. diff --git a/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch b/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch index 29fcbc4a8..801a41cf9 100644 --- a/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch @@ -1,7 +1,7 @@ -From 58ae5481e81c0df5ba40f2e5889b13e2c7a14258 Mon Sep 17 00:00:00 2001 +From b2d03980ce2daa4376d1a1144253c347af40e0f4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:08:34 +0200 -Subject: [PATCH 344/436] powerpc: Disable highmem on RT +Subject: [PATCH 344/437] powerpc: Disable highmem on RT The current highmem handling on -RT is not compatible and needs fixups. diff --git a/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch b/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch index dc822b02b..a5c785ff2 100644 --- a/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch @@ -1,7 +1,7 @@ -From b8b3c2b3686e34d40f7eac2519b0d5c1121fccc9 Mon Sep 17 00:00:00 2001 +From cc90e01232b7383458e142b92a9b896ae6263d01 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:10:12 +0200 -Subject: [PATCH 345/436] mips: Disable highmem on RT +Subject: [PATCH 345/437] mips: Disable highmem on RT The current highmem handling on -RT is not compatible and needs fixups. @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index c82457b0e733..7bb1838508de 100644 +index 23e3d3e0ee5b..1fdf8f563973 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2519,7 +2519,7 @@ config MIPS_ASID_BITS_VARIABLE +@@ -2520,7 +2520,7 @@ config MIPS_ASID_BITS_VARIABLE # config HIGHMEM bool "High Memory Support" diff --git a/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch b/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch index 5c00aba75..c01338acd 100644 --- a/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch +++ b/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch @@ -1,7 +1,7 @@ -From 24e2399147794a7db353fa63102c86aa99c7c48d Mon Sep 17 00:00:00 2001 +From c86332002f578e056c2d18c61cd4c288e1108f93 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 28 Jul 2011 10:43:51 +0200 -Subject: [PATCH 346/436] mm, rt: kmap_atomic scheduling +Subject: [PATCH 346/437] mm, rt: kmap_atomic scheduling In fact, with migrate_disable() existing one could play games with kmap_atomic. You could save/restore the kmap_atomic slots on context @@ -30,7 +30,7 @@ Link: http://lkml.kernel.org/r/1311842631.5890.208.camel@twins 7 files changed, 86 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 5224c6099184..9b2b1f0409c5 100644 +index c2df91eab573..f6f189399d94 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -38,6 +38,7 @@ @@ -41,7 +41,7 @@ index 5224c6099184..9b2b1f0409c5 100644 #include #include -@@ -198,6 +199,35 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp) +@@ -200,6 +201,35 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp) } EXPORT_SYMBOL_GPL(start_thread); @@ -77,9 +77,9 @@ index 5224c6099184..9b2b1f0409c5 100644 /* * switch_to(x,y) should switch tasks from x to y. -@@ -273,6 +303,8 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) - task_thread_info(next_p)->flags & _TIF_WORK_CTXSW_NEXT)) - __switch_to_xtra(prev_p, next_p, tss); +@@ -269,6 +299,8 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) + + switch_to_extra(prev_p, next_p); + switch_kmaps(prev_p, next_p); + @@ -229,7 +229,7 @@ index 776f90f3a1cd..cfcd7b7ab205 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 33d7cb59c00b..cb26ba8286fb 100644 +index ff13666bc6dd..678b52680df3 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -27,6 +27,7 @@ diff --git a/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch b/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch index cecf5aaf0..7b8101259 100644 --- a/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch @@ -1,7 +1,7 @@ -From 144a0c2bb386d8fd399469297d90c31a1baf9ce0 Mon Sep 17 00:00:00 2001 +From 97029d8f7c055c56fb221d6efbfa6dcad02ac788 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 19 Sep 2015 10:15:00 +0200 -Subject: [PATCH 347/436] mm: rt: Fix generic kmap_atomic for RT +Subject: [PATCH 347/437] mm: rt: Fix generic kmap_atomic for RT The update to 4.1 brought in the mainline variant of the pagefault disable distangling from preempt count. That introduced a diff --git a/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch b/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch index a3ad5afd2..223f47ce1 100644 --- a/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch +++ b/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch @@ -1,7 +1,7 @@ -From 141a0decf4b68f06f07d9c2a4cf11e1b445284c7 Mon Sep 17 00:00:00 2001 +From 22b6bd239d4879b0df770a89cab7ee952b9c4526 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 17:09:55 +0100 -Subject: [PATCH 348/436] x86/highmem: Add a "already used pte" check +Subject: [PATCH 348/437] x86/highmem: Add a "already used pte" check This is a copy from kmap_atomic_prot(). diff --git a/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch b/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch index c011eab5d..9ff3eb422 100644 --- a/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch +++ b/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch @@ -1,7 +1,7 @@ -From 693bce5b99d6db6c97a08aec94807e97af49692c Mon Sep 17 00:00:00 2001 +From 9ea265c764addc8bd1864075d10a19de2a54f470 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 21:37:27 +0100 -Subject: [PATCH 349/436] arm/highmem: Flush tlb on unmap +Subject: [PATCH 349/437] arm/highmem: Flush tlb on unmap The tlb should be flushed on unmap and thus make the mapping entry invalid. This is only done in the non-debug case which does not look diff --git a/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch b/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch index 8d18f3e4f..e3feb676e 100644 --- a/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch +++ b/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch @@ -1,7 +1,7 @@ -From 5895aa080bdee8cc285d01fe7f4c16d53365368e Mon Sep 17 00:00:00 2001 +From 959854b30385fb9a7899f30bc3bb84e46ce4ce5c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Feb 2013 11:03:11 +0100 -Subject: [PATCH 350/436] arm: Enable highmem for rt +Subject: [PATCH 350/437] arm: Enable highmem for rt fixup highmem for ARM. diff --git a/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch b/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch index 0dee846ba..a24a58ffc 100644 --- a/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch @@ -1,7 +1,7 @@ -From 06ef8ce2a0de7c649c0426265e2cc0ccb8752895 Mon Sep 17 00:00:00 2001 +From aaa790579b2116b6fce8e79d3be5a14c898109d1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 351/436] scsi/fcoe: Make RT aware. +Subject: [PATCH 351/437] scsi/fcoe: Make RT aware. Do not disable preemption while taking sleeping locks. All user look safe for migrate_diable() only. diff --git a/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch b/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch index 3b7322580..0fd232696 100644 --- a/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch +++ b/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch @@ -1,7 +1,7 @@ -From 25d0c605a46022ac3d563394eb95a989f611e5ed Mon Sep 17 00:00:00 2001 +From e0c7598e6c5b61e2fb283d10d967c82b73c56d98 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Sat, 14 Feb 2015 11:01:16 -0500 -Subject: [PATCH 352/436] sas-ata/isci: dont't disable interrupts in qc_issue +Subject: [PATCH 352/437] sas-ata/isci: dont't disable interrupts in qc_issue handler On 3.14-rt we see the following trace on Canoe Pass for diff --git a/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch b/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch index 55c410a49..5dae6368c 100644 --- a/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch +++ b/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch @@ -1,7 +1,7 @@ -From 6b12f63160fd40de940554f9ed21674edb1aba09 Mon Sep 17 00:00:00 2001 +From 24f3c348c0fa264d8b9a6b9a6ad2907f8dbbd3f5 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 353/436] x86: crypto: Reduce preempt disabled regions +Subject: [PATCH 353/437] x86: crypto: Reduce preempt disabled regions Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. diff --git a/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch b/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch index ba7eb0977..01ea648d1 100644 --- a/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch +++ b/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch @@ -1,7 +1,7 @@ -From f50c32addcdf6c67a9e93b34e8b55d73bad09886 Mon Sep 17 00:00:00 2001 +From 42aa2b5a9ebac3a19effb1ad5c9cf5efa7d07ddc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Feb 2014 17:24:04 +0100 -Subject: [PATCH 354/436] crypto: Reduce preempt disabled regions, more algos +Subject: [PATCH 354/437] crypto: Reduce preempt disabled regions, more algos Don Estabrook reported | kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100() diff --git a/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch b/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch index 4835048a0..8e1ffaef5 100644 --- a/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch +++ b/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch @@ -1,7 +1,7 @@ -From 0033394812f1fa3fcb33d68dca32c08f84dcbb4f Mon Sep 17 00:00:00 2001 +From 6c60a376a30a4c4009517c4bc742afdab31b7b3e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 13:40:10 +0100 -Subject: [PATCH 355/436] crypto: limit more FPU-enabled sections +Subject: [PATCH 355/437] crypto: limit more FPU-enabled sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch b/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch index 5a734a675..4affcfb75 100644 --- a/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch +++ b/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch @@ -1,7 +1,7 @@ -From 9e51b1059e92e4ab52bb5b2142c4da92c0f83b70 Mon Sep 17 00:00:00 2001 +From 1b3f3e28e0d3d164410f5da5009aeb8aa6f4379a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 1 Dec 2017 10:42:03 +0100 -Subject: [PATCH 356/436] arm*: disable NEON in kernel mode +Subject: [PATCH 356/437] arm*: disable NEON in kernel mode NEON in kernel mode is used by the crypto algorithms and raid6 code. While the raid6 code looks okay, the crypto algorithms do not: NEON diff --git a/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch b/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch index 3598dcb16..29e4b93af 100644 --- a/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch +++ b/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch @@ -1,7 +1,7 @@ -From 7cf9af48bf31fe969e55b43bf99ed9328aea5f2b Mon Sep 17 00:00:00 2001 +From 23563bf9128445fc6ad675d46f669ea4dc2d943a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 23:06:09 +0100 -Subject: [PATCH 357/436] dm: Make rt aware +Subject: [PATCH 357/437] dm: Make rt aware Use the BUG_ON_NORT variant for the irq_disabled() checks. RT has interrupts legitimately enabled here as we cant deadlock against the diff --git a/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch b/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch index 30fb671e3..ff5868831 100644 --- a/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch +++ b/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch @@ -1,7 +1,7 @@ -From 808256d4814307c7c81ff3237ee52b008f64a1dc Mon Sep 17 00:00:00 2001 +From ee23cef60bf3b4086ea1f2ea2d0dcc26dabed41b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 13 Feb 2013 09:26:05 -0500 -Subject: [PATCH 358/436] acpi/rt: Convert acpi_gbl_hardware lock back to a +Subject: [PATCH 358/437] acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t We hit the following bug with 3.6-rt: diff --git a/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch b/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch index bda3c1aea..dda07411f 100644 --- a/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch @@ -1,7 +1,7 @@ -From 948306f7c511901cf72b22c0667c07e4de3bdae7 Mon Sep 17 00:00:00 2001 +From 492db0fbf838a1d0864e1e8753f0a00a842dad94 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Dec 2011 01:03:49 +0100 -Subject: [PATCH 359/436] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT +Subject: [PATCH 359/437] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT There are "valid" GFP_ATOMIC allocations such as @@ -46,10 +46,10 @@ Signed-off-by: Thomas Gleixner 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 5c7203cc0e6f..3351fe1af2a8 100644 +index 22a63ddf5668..0520b7003c43 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -936,7 +936,7 @@ config IOMMU_HELPER +@@ -932,7 +932,7 @@ config IOMMU_HELPER config MAXSMP bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL diff --git a/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch b/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch index 538cae6a7..ef891ddf3 100644 --- a/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch @@ -1,7 +1,7 @@ -From a41bf6c29a159b1f5da84cbcd7d2054c07857311 Mon Sep 17 00:00:00 2001 +From 846a0171bb7bedde591b065bf8bf3482c071801e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Aug 2012 20:38:50 +0200 -Subject: [PATCH 360/436] random: Make it work on rt +Subject: [PATCH 360/437] random: Make it work on rt Delegate the random insertion to the forced threaded interrupt handler. Store the return IP of the hard interrupt handler in the irq @@ -126,10 +126,10 @@ index 79f987b942b8..d1dbacc29941 100644 if (!noirqdebug) note_interrupt(desc, retval); diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 967c0bfc9f3b..f82dcca81712 100644 +index 400eca839bcc..01b282ddb83b 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -1027,6 +1027,12 @@ static int irq_thread(void *data) +@@ -1031,6 +1031,12 @@ static int irq_thread(void *data) if (action_ret == IRQ_WAKE_THREAD) irq_wake_secondary(desc, action); diff --git a/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch b/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch index 8c0bbd997..9ffbe7ee7 100644 --- a/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch +++ b/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch @@ -1,7 +1,7 @@ -From 43e87199c570773c94dda6bd3eee342a38b22bf4 Mon Sep 17 00:00:00 2001 +From 9926c096cded9f549edd991ee41f3f2d26c71691 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 12 May 2017 15:46:17 +0200 -Subject: [PATCH 361/436] random: avoid preempt_disable()ed section +Subject: [PATCH 361/437] random: avoid preempt_disable()ed section extract_crng() will use sleeping locks while in a preempt_disable() section due to get_cpu_var(). diff --git a/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch b/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch index 4b419aed8..f21c9e120 100644 --- a/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch +++ b/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch @@ -1,7 +1,7 @@ -From 4fbc58de76eb03aacc9fc2fcd59465adf1546d1f Mon Sep 17 00:00:00 2001 +From d7d0f062f6df80c62645ed9029993b3a170a21a2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 30 May 2017 16:39:01 +0200 -Subject: [PATCH 362/436] char/random: don't print that the init is done +Subject: [PATCH 362/437] char/random: don't print that the init is done On RT we run into circular locking with pendingb_lock (workqueue), port_lock_key (uart) and the primary_crng (random): diff --git a/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch b/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch index 439fecd8c..f62f36eef 100644 --- a/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch +++ b/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch @@ -1,7 +1,7 @@ -From 2ebb3f33901d94d40cf3ff3ce998a6c7104726e0 Mon Sep 17 00:00:00 2001 +From 1e90ab9e5476d88116ff2b47999ca5437cdd5f24 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Jul 2017 17:31:20 +0200 -Subject: [PATCH 363/436] cpu/hotplug: Implement CPU pinning +Subject: [PATCH 363/437] cpu/hotplug: Implement CPU pinning Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 41 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index cb26ba8286fb..4e48d5fe8bd6 100644 +index 678b52680df3..ac1e8dd32a6f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -629,6 +629,7 @@ struct task_struct { @@ -22,10 +22,10 @@ index cb26ba8286fb..4e48d5fe8bd6 100644 int migrate_disable_atomic; # endif diff --git a/kernel/cpu.c b/kernel/cpu.c -index c4e00efd6a2b..e337c60f2d00 100644 +index 92a1e437e777..bc97ca16de81 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -74,6 +74,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -75,6 +75,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -37,7 +37,7 @@ index c4e00efd6a2b..e337c60f2d00 100644 #if defined(CONFIG_LOCKDEP) && defined(CONFIG_SMP) static struct lockdep_map cpuhp_state_up_map = STATIC_LOCKDEP_MAP_INIT("cpuhp_state-up", &cpuhp_state_up_map); -@@ -292,7 +297,30 @@ static int cpu_hotplug_disabled; +@@ -293,7 +298,30 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -68,7 +68,7 @@ index c4e00efd6a2b..e337c60f2d00 100644 } /** -@@ -300,6 +328,13 @@ void pin_current_cpu(void) +@@ -301,6 +329,13 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -82,7 +82,7 @@ index c4e00efd6a2b..e337c60f2d00 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -858,6 +893,7 @@ static int take_cpu_down(void *_param) +@@ -865,6 +900,7 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -90,7 +90,7 @@ index c4e00efd6a2b..e337c60f2d00 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -870,11 +906,14 @@ static int takedown_cpu(unsigned int cpu) +@@ -877,11 +913,14 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -105,7 +105,7 @@ index c4e00efd6a2b..e337c60f2d00 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -893,6 +932,7 @@ static int takedown_cpu(unsigned int cpu) +@@ -900,6 +939,7 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); diff --git a/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch b/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch index cf3a1058b..e97e450bc 100644 --- a/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch +++ b/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch @@ -1,7 +1,7 @@ -From a0ec2012c85fa4b13f37e52b543ac94f1e16d749 Mon Sep 17 00:00:00 2001 +From f94abf1239c11e181f09b117bc25e76247778145 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 18:31:00 +0200 -Subject: [PATCH 364/436] hotplug: duct-tape RT-rwlock usage for non-RT +Subject: [PATCH 364/437] hotplug: duct-tape RT-rwlock usage for non-RT This type is only available on -RT. We need to craft something for non-RT. Since the only migrate_disable() user is -RT only, there is no @@ -13,10 +13,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kernel/cpu.c b/kernel/cpu.c -index e337c60f2d00..7d777b62e4eb 100644 +index bc97ca16de81..7f73ec1d95e6 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -74,7 +74,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -75,7 +75,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -25,7 +25,7 @@ index e337c60f2d00..7d777b62e4eb 100644 static DEFINE_PER_CPU(struct rt_rw_lock, cpuhp_pin_lock) = \ __RWLOCK_RT_INITIALIZER(cpuhp_pin_lock); #endif -@@ -297,6 +297,7 @@ static int cpu_hotplug_disabled; +@@ -298,6 +298,7 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -33,7 +33,7 @@ index e337c60f2d00..7d777b62e4eb 100644 struct rt_rw_lock *cpuhp_pin; unsigned int cpu; int ret; -@@ -321,6 +322,7 @@ void pin_current_cpu(void) +@@ -322,6 +323,7 @@ void pin_current_cpu(void) goto again; } current->pinned_on_cpu = cpu; @@ -41,7 +41,7 @@ index e337c60f2d00..7d777b62e4eb 100644 } /** -@@ -328,6 +330,7 @@ void pin_current_cpu(void) +@@ -329,6 +331,7 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -49,7 +49,7 @@ index e337c60f2d00..7d777b62e4eb 100644 struct rt_rw_lock *cpuhp_pin = this_cpu_ptr(&cpuhp_pin_lock); if (WARN_ON(current->pinned_on_cpu != smp_processor_id())) -@@ -335,6 +338,7 @@ void unpin_current_cpu(void) +@@ -336,6 +339,7 @@ void unpin_current_cpu(void) current->pinned_on_cpu = -1; __read_rt_unlock(cpuhp_pin); @@ -57,7 +57,7 @@ index e337c60f2d00..7d777b62e4eb 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -893,7 +897,9 @@ static int take_cpu_down(void *_param) +@@ -900,7 +904,9 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -67,7 +67,7 @@ index e337c60f2d00..7d777b62e4eb 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -906,14 +912,18 @@ static int takedown_cpu(unsigned int cpu) +@@ -913,14 +919,18 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -86,7 +86,7 @@ index e337c60f2d00..7d777b62e4eb 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -932,7 +942,9 @@ static int takedown_cpu(unsigned int cpu) +@@ -939,7 +949,9 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); diff --git a/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch b/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch index adaf121f6..e613d7f3c 100644 --- a/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch +++ b/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch @@ -1,7 +1,7 @@ -From 1d0a5e691c966b5d064fadbc6be2cb44d7b5545d Mon Sep 17 00:00:00 2001 +From 361de8c2f7523f488650c799c72f97bf6db9d9c7 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Fri, 27 Apr 2012 12:48:46 +0200 -Subject: [PATCH 365/436] scsi: qla2xxx: Use local_irq_save_nort() in +Subject: [PATCH 365/437] scsi: qla2xxx: Use local_irq_save_nort() in qla2x00_poll RT triggers the following: diff --git a/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch b/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch index a4e6e57b1..ec671f547 100644 --- a/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch +++ b/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch @@ -1,7 +1,7 @@ -From f79c582eff17990fa3bfed5f8154fe29700a206b Mon Sep 17 00:00:00 2001 +From cb63600a11ea7567c15f2143452d9cffe42b1b3a Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 366/436] net: Remove preemption disabling in netif_rx() +Subject: [PATCH 366/437] net: Remove preemption disabling in netif_rx() 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by @@ -35,7 +35,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 2c2b432fcec5..463066e1b3c3 100644 +index 8f40b36c2ec3..3aa9256869b2 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4068,7 +4068,7 @@ static int netif_rx_internal(struct sk_buff *skb) diff --git a/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch b/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch index 1f1466039..5aa8a35bc 100644 --- a/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch +++ b/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch @@ -1,7 +1,7 @@ -From f8e7cbc3ef86d365a33c606540b8f68e0db00ff8 Mon Sep 17 00:00:00 2001 +From 1582331d109290155c4ee90d393240f9f604de9a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 26 Sep 2012 16:21:08 +0200 -Subject: [PATCH 367/436] net: Another local_irq_disable/kmalloc headache +Subject: [PATCH 367/437] net: Another local_irq_disable/kmalloc headache Replace it by a local lock. Though that's pretty inefficient :( @@ -11,7 +11,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index 9f80b947f53b..37ad1dd0f574 100644 +index 4067fa3fcbb2..1bb67588ca5a 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -63,6 +63,7 @@ diff --git a/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch b/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch index 07f5c736e..23c8d3726 100644 --- a/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch +++ b/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch @@ -1,7 +1,7 @@ -From bbe0e20999876ccbadaa173d8e7d467361e20023 Mon Sep 17 00:00:00 2001 +From 6cf8f87baddba1e9fc5d04d1ada5e2c89550e03a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 15 Jan 2016 16:33:34 +0100 -Subject: [PATCH 368/436] net/core: protect users of napi_alloc_cache against +Subject: [PATCH 368/437] net/core: protect users of napi_alloc_cache against reentrance On -RT the code running in BH can not be moved to another CPU so CPU @@ -17,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index 37ad1dd0f574..c0f23b8dcfc6 100644 +index 1bb67588ca5a..8ec36697002b 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -332,6 +332,7 @@ struct napi_alloc_cache { diff --git a/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch b/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch index 7a19d1dec..02041a994 100644 --- a/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch +++ b/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch @@ -1,7 +1,7 @@ -From 77660f459759829746c838865574d823d46f3b7c Mon Sep 17 00:00:00 2001 +From f1bade1c769369bc88fd39199fac306dbe7ce9af Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 11:18:08 +0100 -Subject: [PATCH 369/436] net: netfilter: Serialize xt_write_recseq sections on +Subject: [PATCH 369/437] net: netfilter: Serialize xt_write_recseq sections on RT The netfilter code relies only on the implicit semantics of diff --git a/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch b/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch index cbed41ac7..3e4793615 100644 --- a/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch +++ b/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch @@ -1,7 +1,7 @@ -From c3191846f3dab3cf8fd4acb80a701266a5bffa48 Mon Sep 17 00:00:00 2001 +From f503f56d286c9e53fe956dbe3430b09967dc5970 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Mar 2013 18:06:20 +0100 -Subject: [PATCH 370/436] net: Add a mutex around devnet_rename_seq +Subject: [PATCH 370/437] net: Add a mutex around devnet_rename_seq On RT write_seqcount_begin() disables preemption and device_rename() allocates memory with GFP_KERNEL and grabs later the sysfs_mutex @@ -21,7 +21,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 463066e1b3c3..fa9642bb0482 100644 +index 3aa9256869b2..d1309f51d066 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -195,6 +195,7 @@ static unsigned int napi_gen_id = NR_CPUS; diff --git a/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch b/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch index f135e4b33..aee346584 100644 --- a/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch +++ b/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch @@ -1,7 +1,7 @@ -From 2962ee7fb501c49b8694e663ef43fc151c2b46fb Mon Sep 17 00:00:00 2001 +From 0d82bb96b2e9ad36832519b81e06c0e1c7a2a750 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 5 Oct 2012 09:03:24 +0100 -Subject: [PATCH 371/436] crypto: Convert crypto notifier chain to SRCU +Subject: [PATCH 371/437] crypto: Convert crypto notifier chain to SRCU The crypto notifier deadlocks on RT. Though this can be a real deadlock on mainline as well due to fifo fair rwsems. diff --git a/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch b/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch index 0fa928957..6a8ca41ff 100644 --- a/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch +++ b/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch @@ -1,7 +1,7 @@ -From 821c3e85adfa38ae214578940071accaf1c3f58e Mon Sep 17 00:00:00 2001 +From f3e9a706ad5104e136748227b3957ecdb5a1fe95 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Mon, 16 Apr 2012 15:01:56 +0800 -Subject: [PATCH 372/436] lockdep: selftest: Only do hardirq context test for +Subject: [PATCH 372/437] lockdep: selftest: Only do hardirq context test for raw spinlock On -rt there is no softirq context any more and rwlock is sleepable, diff --git a/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch b/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch index 19f9440a3..c506abc2b 100644 --- a/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch +++ b/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch @@ -1,7 +1,7 @@ -From 55591a8dcdab815c288a513658a7bc7da6c31175 Mon Sep 17 00:00:00 2001 +From ccbca38a3469e06ecbd3bda0725b2228afc68ab6 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 28 Jan 2015 13:08:45 -0600 -Subject: [PATCH 373/436] lockdep: selftest: fix warnings due to missing +Subject: [PATCH 373/437] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals "lockdep: Selftest: Only do hardirq context test for raw spinlock" diff --git a/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch b/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch index 09a140caf..00ec52e3c 100644 --- a/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch +++ b/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch @@ -1,7 +1,7 @@ -From 8548b225be9811324d83006e197f2adb24b683cc Mon Sep 17 00:00:00 2001 +From caaa4d10322908e9a347914745e83e2a55078869 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 14:43:41 +0200 -Subject: [PATCH 374/436] srcu: use cpu_online() instead custom check +Subject: [PATCH 374/437] srcu: use cpu_online() instead custom check The current check via srcu_online is slightly racy because after looking at srcu_online there could be an interrupt that interrupted us long @@ -72,10 +72,10 @@ index 6d5880089ff6..b72d8c552604 100644 } diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index 55c56b1aece7..85e2dc55a82c 100644 +index f37d06ec5ee1..9eb9cfc9c9c1 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c -@@ -3775,8 +3775,6 @@ int rcutree_online_cpu(unsigned int cpu) +@@ -3784,8 +3784,6 @@ int rcutree_online_cpu(unsigned int cpu) { sync_sched_exp_online_cleanup(cpu); rcutree_affinity_setting(cpu, -1); @@ -84,7 +84,7 @@ index 55c56b1aece7..85e2dc55a82c 100644 return 0; } -@@ -3787,8 +3785,6 @@ int rcutree_online_cpu(unsigned int cpu) +@@ -3796,8 +3794,6 @@ int rcutree_online_cpu(unsigned int cpu) int rcutree_offline_cpu(unsigned int cpu) { rcutree_affinity_setting(cpu, cpu); @@ -93,7 +93,7 @@ index 55c56b1aece7..85e2dc55a82c 100644 return 0; } -@@ -4236,8 +4232,6 @@ void __init rcu_init(void) +@@ -4245,8 +4241,6 @@ void __init rcu_init(void) for_each_online_cpu(cpu) { rcutree_prepare_cpu(cpu); rcu_cpu_starting(cpu); diff --git a/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch b/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch index 74d17ecd1..8ead8a5d0 100644 --- a/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch +++ b/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch @@ -1,7 +1,7 @@ -From e8a35c5113a012f0bba6195c7ef210f109f67d27 Mon Sep 17 00:00:00 2001 +From 43889bcadc61d257269a3e2a53b9e18735eed7cd Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Tue, 10 Oct 2017 13:52:30 -0700 -Subject: [PATCH 375/436] srcu: Prohibit call_srcu() use under raw spinlocks +Subject: [PATCH 375/437] srcu: Prohibit call_srcu() use under raw spinlocks Upstream commit 08265b8f1a139c1cff052b35ab7cf929528f88bb diff --git a/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch b/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch index 3a71bc318..da908b4f6 100644 --- a/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch +++ b/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch @@ -1,7 +1,7 @@ -From 0f9a4fb40ce23c3c7f0c07c6555436a6e54881e8 Mon Sep 17 00:00:00 2001 +From 9187b49972fb5e3dd39648dbe291367f4c6301ec Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 18:37:12 +0200 -Subject: [PATCH 376/436] srcu: replace local_irqsave() with a locallock +Subject: [PATCH 376/437] srcu: replace local_irqsave() with a locallock There are two instances which disable interrupts in order to become a stable this_cpu_ptr() pointer. The restore part is coupled with diff --git a/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch b/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch index c34a57451..96039ecd3 100644 --- a/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch @@ -1,7 +1,7 @@ -From f6d831814156712349eb062b804234bb59067f10 Mon Sep 17 00:00:00 2001 +From 52e351d171ad9613e98b9225c454752608601c5b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 13:26:09 +0000 -Subject: [PATCH 377/436] rcu: Disable RCU_FAST_NO_HZ on RT +Subject: [PATCH 377/437] rcu: Disable RCU_FAST_NO_HZ on RT This uses a timer_list timer from the irq disabled guts of the idle code. Disable it for now to prevent wreckage. diff --git a/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch b/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch index e7ad11ac6..8c1041f22 100644 --- a/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch +++ b/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch @@ -1,7 +1,7 @@ -From a76af3b58c9ddd66cdf339a6202df63b4c5f0f59 Mon Sep 17 00:00:00 2001 +From e8988263ff2200f395d64cd7155fbd509a10c203 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 4 Nov 2013 13:21:10 -0800 -Subject: [PATCH 378/436] rcu: Eliminate softirq processing from rcutree +Subject: [PATCH 378/437] rcu: Eliminate softirq processing from rcutree Running RCU out of softirq is a problem for some workloads that would like to manage RCU core processing independently of other softirq work, @@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior 3 files changed, 115 insertions(+), 154 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index 85e2dc55a82c..0a722b56d90b 100644 +index 9eb9cfc9c9c1..06bd35fe8f9c 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -58,6 +58,11 @@ @@ -38,7 +38,7 @@ index 85e2dc55a82c..0a722b56d90b 100644 #include "tree.h" #include "rcu.h" -@@ -2946,18 +2951,17 @@ __rcu_process_callbacks(struct rcu_state *rsp) +@@ -2955,18 +2960,17 @@ __rcu_process_callbacks(struct rcu_state *rsp) /* * Do RCU core processing for the current CPU. */ @@ -59,7 +59,7 @@ index 85e2dc55a82c..0a722b56d90b 100644 /* * Schedule RCU callback invocation. If the specified type of RCU * does not support RCU priority boosting, just do a direct call, -@@ -2969,18 +2973,105 @@ static void invoke_rcu_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) +@@ -2978,18 +2982,105 @@ static void invoke_rcu_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) { if (unlikely(!READ_ONCE(rcu_scheduler_fully_active))) return; @@ -172,7 +172,7 @@ index 85e2dc55a82c..0a722b56d90b 100644 /* * Handle any core-RCU processing required by a call_rcu() invocation. -@@ -4221,7 +4312,6 @@ void __init rcu_init(void) +@@ -4230,7 +4321,6 @@ void __init rcu_init(void) if (dump_tree) rcu_dump_rcu_node_tree(&rcu_sched_state); __rcu_init_preempt(); diff --git a/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch b/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch index 184227241..72a756173 100644 --- a/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch @@ -1,7 +1,7 @@ -From 5d5d9c25de1acf3a03307f9d7ef92407c67c358e Mon Sep 17 00:00:00 2001 +From 247b33cc05750e8c8b687fc9f89d22067cfc6498 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Mar 2014 20:19:05 +0100 -Subject: [PATCH 379/436] rcu: make RCU_BOOST default on RT +Subject: [PATCH 379/437] rcu: make RCU_BOOST default on RT Since it is no longer invoked from the softirq people run into OOM more often if the priority of the RCU thread is too low. Making boosting diff --git a/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch b/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch index 2564213c4..168ecb990 100644 --- a/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch @@ -1,7 +1,7 @@ -From 73cd46e4137093d07d2b970c2b68491260be5fcb Mon Sep 17 00:00:00 2001 +From 9ceb8105da087da29f94ffe4403cc2010158c4d5 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Wed, 12 Oct 2016 11:21:14 -0500 -Subject: [PATCH 380/436] rcu: enable rcu_normal_after_boot by default for RT +Subject: [PATCH 380/437] rcu: enable rcu_normal_after_boot by default for RT The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running diff --git a/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch index d28d82615..646f960b1 100644 --- a/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 6002bb81c493f6ec7d1937f94a445ed432d9b83b Mon Sep 17 00:00:00 2001 +From e12239c4111671341a3541f2d5bf0c11ab461a95 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 26 Oct 2012 18:50:54 +0100 -Subject: [PATCH 381/436] sched: Add support for lazy preemption +Subject: [PATCH 381/437] sched: Add support for lazy preemption It has become an obsession to mitigate the determinism vs. throughput loss of RT. Looking at the mainline semantics of preemption points @@ -142,10 +142,10 @@ index fd2efc6ffc3f..0591df500e9d 100644 } while (0) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4e48d5fe8bd6..c26b5ff005ab 100644 +index ac1e8dd32a6f..462baf19cf41 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1661,6 +1661,44 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) +@@ -1670,6 +1670,44 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED)); } @@ -243,7 +243,7 @@ index f8a2982bdbde..11dbe26a8279 100644 prompt "Preemption Model" default PREEMPT_NONE diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index d3369a9bd607..6952b7765bde 100644 +index c304127bee78..64f3c372776b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -518,6 +518,48 @@ void resched_curr(struct rq *rq) @@ -375,7 +375,7 @@ index d3369a9bd607..6952b7765bde 100644 /* * The idle tasks have their own, simple scheduling class: */ -@@ -6884,6 +6960,7 @@ void migrate_disable(void) +@@ -6890,6 +6966,7 @@ void migrate_disable(void) } preempt_disable(); @@ -383,7 +383,7 @@ index d3369a9bd607..6952b7765bde 100644 pin_current_cpu(); migrate_disable_update_cpus_allowed(p); -@@ -6951,6 +7028,7 @@ void migrate_enable(void) +@@ -6957,6 +7034,7 @@ void migrate_enable(void) arg.dest_cpu = dest_cpu; unpin_current_cpu(); @@ -391,7 +391,7 @@ index d3369a9bd607..6952b7765bde 100644 preempt_enable(); stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg); tlb_migrate_finish(p->mm); -@@ -6959,6 +7037,7 @@ void migrate_enable(void) +@@ -6965,6 +7043,7 @@ void migrate_enable(void) } } unpin_current_cpu(); @@ -400,7 +400,7 @@ index d3369a9bd607..6952b7765bde 100644 } EXPORT_SYMBOL(migrate_enable); diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index a2421b2564b9..13a6f2f6bcf2 100644 +index 304a7ebc7657..9cae149e78b6 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3842,7 +3842,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) @@ -439,7 +439,7 @@ index a2421b2564b9..13a6f2f6bcf2 100644 } static __always_inline -@@ -4839,7 +4839,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) +@@ -4855,7 +4855,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) if (delta < 0) { if (rq->curr == p) @@ -448,7 +448,7 @@ index a2421b2564b9..13a6f2f6bcf2 100644 return; } hrtick_start(rq, delta); -@@ -6233,7 +6233,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ +@@ -6249,7 +6249,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ return; preempt: @@ -457,7 +457,7 @@ index a2421b2564b9..13a6f2f6bcf2 100644 /* * Only set the backward buddy when the current task is still * on the rq. This can happen when a wakeup gets interleaved -@@ -9087,7 +9087,7 @@ static void task_fork_fair(struct task_struct *p) +@@ -9103,7 +9103,7 @@ static void task_fork_fair(struct task_struct *p) * 'current' within the tree based on its new key value. */ swap(curr->vruntime, se->vruntime); @@ -466,7 +466,7 @@ index a2421b2564b9..13a6f2f6bcf2 100644 } se->vruntime -= cfs_rq->min_vruntime; -@@ -9111,7 +9111,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) +@@ -9127,7 +9127,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) */ if (rq->curr == p) { if (p->prio > oldprio) @@ -490,7 +490,7 @@ index c675ee1694f5..fb069998b518 100644 /* diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index ace39806bff8..96481980c8c7 100644 +index bd6363799cf6..4862a596717c 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1546,6 +1546,15 @@ extern void init_sched_fair_class(void); diff --git a/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch b/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch index 10b4958eb..bd11fc940 100644 --- a/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch +++ b/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch @@ -1,7 +1,7 @@ -From 037f47f6cc98685fdfd4980eb26e17b7ff9c5536 Mon Sep 17 00:00:00 2001 +From 390a5ced0ef719df2a79efefb432898a454b628f Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:08:30 +0200 -Subject: [PATCH 382/436] ftrace: Fix trace header alignment +Subject: [PATCH 382/437] ftrace: Fix trace header alignment Line up helper arrows to the right column. diff --git a/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch index ab528584a..d3127b6b4 100644 --- a/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 45e525d781ec976e67f2785d8447fe07a3f0c732 Mon Sep 17 00:00:00 2001 +From fd1e22d07c1cfd9b044d2651d635faeea31409ee Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 11:03:47 +0100 -Subject: [PATCH 383/436] x86: Support for lazy preemption +Subject: [PATCH 383/437] x86: Support for lazy preemption Implement the x86 pieces for lazy preempt. @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 7 files changed, 79 insertions(+), 3 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 3351fe1af2a8..7764f936d6ab 100644 +index 0520b7003c43..d34820fddc8f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -169,6 +169,7 @@ config X86 @@ -161,7 +161,7 @@ index 7f2dbd91fc74..22992c837795 100644 #ifdef CONFIG_PREEMPT diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h -index 95ff2d7f553f..b1c9129f64fc 100644 +index bf9175d87844..151ddafc6374 100644 --- a/arch/x86/include/asm/thread_info.h +++ b/arch/x86/include/asm/thread_info.h @@ -56,11 +56,14 @@ struct task_struct; @@ -190,23 +190,23 @@ index 95ff2d7f553f..b1c9129f64fc 100644 #endif /* -@@ -85,6 +92,7 @@ struct thread_info { - #define TIF_SYSCALL_EMU 6 /* syscall emulation active */ - #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ - #define TIF_SECCOMP 8 /* secure computing */ -+#define TIF_NEED_RESCHED_LAZY 9 /* lazy rescheduling necessary */ - #define TIF_USER_RETURN_NOTIFY 11 /* notify kernel of userspace return */ - #define TIF_UPROBE 12 /* breakpointed or singlestepping */ - #define TIF_PATCH_PENDING 13 /* pending live patching update */ -@@ -112,6 +120,7 @@ struct thread_info { - #define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU) - #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) - #define _TIF_SECCOMP (1 << TIF_SECCOMP) +@@ -93,6 +100,7 @@ struct thread_info { + #define TIF_NOCPUID 15 /* CPUID is not accessible in userland */ + #define TIF_NOTSC 16 /* TSC is not accessible in userland */ + #define TIF_IA32 17 /* IA32 compatibility process */ ++#define TIF_NEED_RESCHED_LAZY 18 /* lazy rescheduling necessary */ + #define TIF_NOHZ 19 /* in adaptive nohz mode */ + #define TIF_MEMDIE 20 /* is terminating due to OOM killer */ + #define TIF_POLLING_NRFLAG 21 /* idle is polling for TIF_NEED_RESCHED */ +@@ -122,6 +130,7 @@ struct thread_info { + #define _TIF_NOCPUID (1 << TIF_NOCPUID) + #define _TIF_NOTSC (1 << TIF_NOTSC) + #define _TIF_IA32 (1 << TIF_IA32) +#define _TIF_NEED_RESCHED_LAZY (1 << TIF_NEED_RESCHED_LAZY) - #define _TIF_USER_RETURN_NOTIFY (1 << TIF_USER_RETURN_NOTIFY) - #define _TIF_UPROBE (1 << TIF_UPROBE) - #define _TIF_PATCH_PENDING (1 << TIF_PATCH_PENDING) -@@ -153,6 +162,8 @@ struct thread_info { + #define _TIF_NOHZ (1 << TIF_NOHZ) + #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) + #define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP) +@@ -167,6 +176,8 @@ struct thread_info { #define _TIF_WORK_CTXSW_PREV (_TIF_WORK_CTXSW|_TIF_USER_RETURN_NOTIFY) #define _TIF_WORK_CTXSW_NEXT (_TIF_WORK_CTXSW) diff --git a/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch index e11865acf..b0bdce3a5 100644 --- a/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 2d03f18ec18196544de42f01c0a4a14c98489675 Mon Sep 17 00:00:00 2001 +From d43c1351f9ca08417f637274c72a3026ca6c8485 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 31 Oct 2012 12:04:11 +0100 -Subject: [PATCH 384/436] arm: Add support for lazy preemption +Subject: [PATCH 384/437] arm: Add support for lazy preemption Implement the arm pieces for lazy preempt. diff --git a/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch index ad19bcf5f..f94a76b36 100644 --- a/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From b954d8d169b83e75221d619146df61403090d348 Mon Sep 17 00:00:00 2001 +From 70711d06940fcca6da7a80610b8c039da2c37d52 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 10:14:11 +0100 -Subject: [PATCH 385/436] powerpc: Add support for lazy preemption +Subject: [PATCH 385/437] powerpc: Add support for lazy preemption Implement the powerpc pieces for lazy preempt. diff --git a/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch b/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch index d9dbfb53e..6e9b80f50 100644 --- a/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch +++ b/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch @@ -1,7 +1,7 @@ -From 3c4800cbe68310ace32d6b81675131cee2bc76aa Mon Sep 17 00:00:00 2001 +From 1b9d589106a2724d38ad507d597fcd1a408708b4 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Thu, 14 May 2015 17:52:17 +0200 -Subject: [PATCH 386/436] arch/arm64: Add lazy preempt support +Subject: [PATCH 386/437] arch/arm64: Add lazy preempt support arm64 is missing support for PREEMPT_RT. The main feature which is lacking is support for lazy preemption. The arch-specific entry code, diff --git a/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch b/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch index 377c7bef3..4bc53fbab 100644 --- a/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch @@ -1,7 +1,7 @@ -From 517f99388c143ae0a62bc1a7d4b16aee80554a15 Mon Sep 17 00:00:00 2001 +From 50cf6e2ce0055e575512a80c22b66446e72f64b4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Jan 2014 14:45:59 +0100 -Subject: [PATCH 387/436] leds: trigger: disable CPU trigger on -RT +Subject: [PATCH 387/437] leds: trigger: disable CPU trigger on -RT as it triggers: |CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141 diff --git a/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch b/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch index d169bafd6..754dc0f04 100644 --- a/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch +++ b/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch @@ -1,7 +1,7 @@ -From 8eb344e9693a206838b7687464fe5b5d4e575f67 Mon Sep 17 00:00:00 2001 +From 00e0a0a9acb880d960e1b10a4fa3224d6a2f630a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:11:12 +0100 -Subject: [PATCH 388/436] mmci: Remove bogus local_irq_save() +Subject: [PATCH 388/437] mmci: Remove bogus local_irq_save() On !RT interrupt runs with interrupts disabled. On RT it's in a thread, so no need to disable interrupts at all. diff --git a/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch b/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch index 3219724dc..26cb1f248 100644 --- a/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch +++ b/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch @@ -1,7 +1,7 @@ -From 97784b6f098003ef52674a055742169fc6291721 Mon Sep 17 00:00:00 2001 +From a826d8b77351a76c294bebc69d0960a886a5649d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 9 Apr 2015 15:23:01 +0200 -Subject: [PATCH 389/436] cpufreq: drop K8's driver from beeing selected +Subject: [PATCH 389/437] cpufreq: drop K8's driver from beeing selected Ralf posted a picture of a backtrace from diff --git a/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch b/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch index 6d7dfef55..178d5a36c 100644 --- a/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch +++ b/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch @@ -1,7 +1,7 @@ -From f116cfe6acbd13694dff5de20a642f25db68fc3a Mon Sep 17 00:00:00 2001 +From 7b81b256010ffb7952153f83a93a0f65ff7d187c Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:11:54 +0200 -Subject: [PATCH 390/436] connector/cn_proc: Protect send_msg() with a local +Subject: [PATCH 390/437] connector/cn_proc: Protect send_msg() with a local lock on RT |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931 diff --git a/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch b/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch index cdb64459a..9c06d6fa5 100644 --- a/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch +++ b/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch @@ -1,7 +1,7 @@ -From dc92194cc802a5c5cf948a5387d5a0f81c5ac3b5 Mon Sep 17 00:00:00 2001 +From 16ccbac971b79234c20b2a26399bc971088d0b69 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 31 Mar 2016 04:08:28 +0200 -Subject: [PATCH 391/436] drivers/block/zram: Replace bit spinlocks with +Subject: [PATCH 391/437] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt They're nondeterministic, and lead to ___might_sleep() splats in -rt. @@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 29 insertions(+) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c -index 1e2648e4c286..23be0e1b31e7 100644 +index 27b202c64c84..bde8871f41ed 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -761,6 +761,30 @@ static DEVICE_ATTR_RO(io_stat); diff --git a/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch b/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch index 76445335b..00518abe5 100644 --- a/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch +++ b/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch @@ -1,7 +1,7 @@ -From b50d06f081411df4de7180900e41a94b6c2106b8 Mon Sep 17 00:00:00 2001 +From 912de8033e7d10dcf3340bd41af5db636c239e72 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 20 Oct 2016 11:15:22 +0200 -Subject: [PATCH 392/436] drivers/zram: Don't disable preemption in +Subject: [PATCH 392/437] drivers/zram: Don't disable preemption in zcomp_stream_get/put() In v4.7, the driver switched to percpu compression streams, disabling @@ -66,7 +66,7 @@ index 41c1002a7d7d..d424eafcbf8e 100644 /* dynamic per-device compression frontend */ diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c -index 23be0e1b31e7..c5d61209eb05 100644 +index bde8871f41ed..269a16e312f7 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -876,6 +876,7 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index, diff --git a/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch b/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch index afb3bb600..04c432125 100644 --- a/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch +++ b/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch @@ -1,7 +1,7 @@ -From 95ae4e35d8be4b54ade12b105d19c94ffc3afe32 Mon Sep 17 00:00:00 2001 +From 72be58e6adba4825bfad0c9604eed85fcd8030ca Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 23 Aug 2017 11:57:29 +0200 -Subject: [PATCH 393/436] drivers/zram: fix zcomp_stream_get() +Subject: [PATCH 393/437] drivers/zram: fix zcomp_stream_get() smp_processor_id() use in preemptible code Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding diff --git a/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch b/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch index a38c399cd..ab7969c0d 100644 --- a/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch +++ b/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch @@ -1,7 +1,7 @@ -From a12acc61403192b612ab44cefc7492e018227e28 Mon Sep 17 00:00:00 2001 +From 89f1902ff3e45ed84f483356f9c28ae5afa78d0c Mon Sep 17 00:00:00 2001 From: Haris Okanovic Date: Tue, 15 Aug 2017 15:13:08 -0500 -Subject: [PATCH 394/436] tpm_tis: fix stall after iowrite*()s +Subject: [PATCH 394/437] tpm_tis: fix stall after iowrite*()s ioread8() operations to TPM MMIO addresses can stall the cpu when immediately following a sequence of iowrite*()'s to the same region. diff --git a/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch b/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch index d1da4a136..b08fb19ae 100644 --- a/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch +++ b/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch @@ -1,7 +1,7 @@ -From 5f7285e04a2ae0a4b3c764f4e053b0ce1f6d958d Mon Sep 17 00:00:00 2001 +From 275b4646cd942674533ee907cf94b2d37731d9f1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 4 Oct 2017 10:24:23 +0200 -Subject: [PATCH 395/436] pci/switchtec: Don't use completion's wait queue +Subject: [PATCH 395/437] pci/switchtec: Don't use completion's wait queue The poll callback is using completion's wait_queue_head_t member and puts it in poll_wait() so the poll() caller gets a wakeup after command diff --git a/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch b/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch index 4843a551b..bb1b7f252 100644 --- a/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch +++ b/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch @@ -1,7 +1,7 @@ -From bfe9fe11830eebfc633a7d1b5355a25f04ec91fa Mon Sep 17 00:00:00 2001 +From 70536d56ecd5eb835f376d928cf1c650c3b7c224 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 08:09:11 +0100 -Subject: [PATCH 396/436] drm,radeon,i915: Use preempt_disable/enable_rt() +Subject: [PATCH 396/437] drm,radeon,i915: Use preempt_disable/enable_rt() where recommended DRM folks identified the spots, so use them. diff --git a/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch b/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch index d97133b18..727d7cf01 100644 --- a/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch +++ b/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch @@ -1,7 +1,7 @@ -From 7ce1c29a6d864990d8662acd6f115d7427f939ff Mon Sep 17 00:00:00 2001 +From 64527d1b545fbf0b43017ec72478da9183dda8f9 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 09:01:42 +0100 -Subject: [PATCH 397/436] drm,i915: Use local_lock/unlock_irq() in +Subject: [PATCH 397/437] drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end() [ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918 diff --git a/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch b/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch index 77895d179..80d4b893b 100644 --- a/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch +++ b/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch @@ -1,7 +1,7 @@ -From 6bb97ecf668522b3b8537b234361fa39b0926c52 Mon Sep 17 00:00:00 2001 +From d7802ae19e6c72f9ac79e4f520aafd24bb103d57 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 13 Feb 2015 15:52:24 +0100 -Subject: [PATCH 398/436] cgroups: use simple wait in css_release() +Subject: [PATCH 398/437] cgroups: use simple wait in css_release() To avoid: |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 diff --git a/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch b/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch index f99b17a11..f9fa03575 100644 --- a/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch +++ b/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch @@ -1,7 +1,7 @@ -From 78cd672a38c37402012b267fb8001422952d2d26 Mon Sep 17 00:00:00 2001 +From 34595ece203d1febe0328f568e10ed4d6a5a70c5 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 21 Jun 2014 10:09:48 +0200 -Subject: [PATCH 399/436] memcontrol: Prevent scheduling while atomic in cgroup +Subject: [PATCH 399/437] memcontrol: Prevent scheduling while atomic in cgroup code mm, memcg: make refill_stock() use get_cpu_light() diff --git a/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch b/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch index 51d553856..2c8b58c32 100644 --- a/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch +++ b/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch @@ -1,7 +1,7 @@ -From 7e41e4cb5169b1dcaccc947704dba75509b24092 Mon Sep 17 00:00:00 2001 +From 01aa0701d977d76b4eac89743dc50139389ed301 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 22 Nov 2017 07:31:19 -0500 -Subject: [PATCH 400/436] Revert "memcontrol: Prevent scheduling while atomic +Subject: [PATCH 400/437] Revert "memcontrol: Prevent scheduling while atomic in cgroup code" The commit "memcontrol: Prevent scheduling while atomic in cgroup code" diff --git a/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch b/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch index 22dd02194..021575ec8 100644 --- a/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch +++ b/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch @@ -1,7 +1,7 @@ -From 38d69a7e3e4ec8fd65ec48d6ba3d1c9e373546f8 Mon Sep 17 00:00:00 2001 +From c57cd4291d8026ef3c55b26b80471f4a62dd1742 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 8 Jan 2017 09:32:25 +0100 -Subject: [PATCH 401/436] cpuset: Convert callback_lock to raw_spinlock_t +Subject: [PATCH 401/437] cpuset: Convert callback_lock to raw_spinlock_t The two commits below add up to a cpuset might_sleep() splat for RT: diff --git a/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch b/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch index 9f34b52cf..d0e04e1e2 100644 --- a/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch +++ b/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch @@ -1,7 +1,7 @@ -From 8cf8843134965d92e233b4e4b51b338adca39531 Mon Sep 17 00:00:00 2001 +From adcfdb200a27ac5fe36e4b2acf769140cd46a0ef Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 26 Jun 2013 15:28:11 -0400 -Subject: [PATCH 402/436] rt,ntp: Move call to schedule_delayed_work() to +Subject: [PATCH 402/437] rt,ntp: Move call to schedule_delayed_work() to helper thread The ntp code for notify_cmos_timer() is called from a hard interrupt diff --git a/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch b/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch index 7e9b7396a..f15ba2e56 100644 --- a/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch +++ b/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch @@ -1,7 +1,7 @@ -From 1c2ce8efee1b78da9a93a39d2e0645453ea7f6aa Mon Sep 17 00:00:00 2001 +From 9b8e921f44850673998d430379102463ddb4e322 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 2 Mar 2018 11:37:57 +0100 -Subject: [PATCH 403/436] Revert "rt,ntp: Move call to schedule_delayed_work() +Subject: [PATCH 403/437] Revert "rt,ntp: Move call to schedule_delayed_work() to helper thread" I've been looking at this in v3.10-RT where it got in. The patch diff --git a/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch b/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch index 7a305e587..cc5d17104 100644 --- a/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch +++ b/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch @@ -1,7 +1,7 @@ -From 08b2a09ec68d16c30b6039d5bbd6bbdcff655285 Mon Sep 17 00:00:00 2001 +From caddc553410834e9233c4949d6ef6df413bbfd78 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 11:48:57 +0200 -Subject: [PATCH 404/436] md: disable bcache +Subject: [PATCH 404/437] md: disable bcache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch b/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch index db77c09f8..fbe4308e5 100644 --- a/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch +++ b/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch @@ -1,7 +1,7 @@ -From a4f95c702d1e912e0c64ef24541e6e75cccb98ee Mon Sep 17 00:00:00 2001 +From 820c946179cf515de1701e6a5493f452b45fbede Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 11 Oct 2017 17:43:49 +0200 -Subject: [PATCH 405/436] apparmor: use a locallock instead preempt_disable() +Subject: [PATCH 405/437] apparmor: use a locallock instead preempt_disable() 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 diff --git a/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch b/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch index e2bdc5062..203be4d9b 100644 --- a/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch @@ -1,7 +1,7 @@ -From 5fd424ff8b09c7f484639de8c191c96790017665 Mon Sep 17 00:00:00 2001 +From fab8d1ee5c6af549a87a97f4b19d714a10db0426 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 27 Jun 2014 16:24:52 +0200 -Subject: [PATCH 406/436] workqueue: Prevent deadlock/stall on RT +Subject: [PATCH 406/437] workqueue: Prevent deadlock/stall on RT Austin reported a XFS deadlock/stall on RT where scheduled work gets never exececuted and tasks are waiting for each other for ever. @@ -42,7 +42,7 @@ Cc: Steven Rostedt 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 6952b7765bde..e7817c6c44d2 100644 +index 64f3c372776b..d7bfa2dd53e4 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3477,9 +3477,8 @@ void __noreturn do_task_dead(void) diff --git a/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch b/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch index 6d310967f..edf92f5ae 100644 --- a/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch +++ b/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch @@ -1,7 +1,7 @@ -From 5adfd4893f60581fcee7e0211bdcb4255651f74f Mon Sep 17 00:00:00 2001 +From 48efc524be9a3f19f515111ef17bd8d2b384c13c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 407/436] Add localversion for -RT release +Subject: [PATCH 407/437] Add localversion for -RT release Signed-off-by: Thomas Gleixner --- diff --git a/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch b/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch index 1ccdfb37d..e4a109c3c 100644 --- a/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch +++ b/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch @@ -1,7 +1,7 @@ -From b08ab556382f0bdce4b2f23a8c03a5373acfe6d3 Mon Sep 17 00:00:00 2001 +From 73ad7ee5b5504b356b95554b8eca6fd7b860f4c4 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:49 -0500 -Subject: [PATCH 408/436] tracing: Add field modifier parsing hist error for +Subject: [PATCH 408/437] tracing: Add field modifier parsing hist error for hist triggers [ commit dcf234577cd31fa16874e828b90659166ad6b80d ] diff --git a/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch b/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch index 96b882363..4bd33071b 100644 --- a/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch +++ b/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch @@ -1,7 +1,7 @@ -From fbbb3ccda99c98910ecf47f94b3a36a532497846 Mon Sep 17 00:00:00 2001 +From 021f7471b02c2cfdad311aea8ede35632c0ee645 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:48 -0500 -Subject: [PATCH 409/436] tracing: Add field parsing hist error for hist +Subject: [PATCH 409/437] tracing: Add field parsing hist error for hist triggers [ commit 5ec432d7bf9dd3b4a2b84f8974e3adb71f45fb1d ] diff --git a/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch b/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch index 28739a672..6b25afe7a 100644 --- a/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch +++ b/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch @@ -1,7 +1,7 @@ -From e03f3937caac1e553e320735a45bec3b80d20597 Mon Sep 17 00:00:00 2001 +From fde475b48caa0305c67f9be0779b4a40bb395d80 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:47 -0500 -Subject: [PATCH 410/436] tracing: Restore proper field flag printing when +Subject: [PATCH 410/437] tracing: Restore proper field flag printing when displaying triggers [ commit 608940dabe1bd2ce4c97524004ec86637cf80f2c ] diff --git a/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch b/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch index f4e920dd9..f98b050e5 100644 --- a/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch +++ b/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch @@ -1,7 +1,7 @@ -From 9f8b7ecd7c3872dc80658d3f0cd57fc1bb6e4525 Mon Sep 17 00:00:00 2001 +From 725257de5a2c7d7f5c56e8c7cd2e2bdebc89827a Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 28 Mar 2018 14:48:15 +0300 -Subject: [PATCH 411/436] tracing: Uninitialized variable in +Subject: [PATCH 411/437] tracing: Uninitialized variable in create_tracing_map_fields() [ commit b28d7b2dc27f0eef1ae608b49d6860f2463910f1 ] diff --git a/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch b/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch index a60d332ab..ca85ba691 100644 --- a/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch +++ b/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch @@ -1,7 +1,7 @@ -From 3a23fee408585311ad2cfe0dca07211e6b6b27f8 Mon Sep 17 00:00:00 2001 +From af8d7ff47947a46db5dae3490d96902af582e85c Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 23 Mar 2018 14:37:36 +0300 -Subject: [PATCH 412/436] tracing: Fix a potential NULL dereference +Subject: [PATCH 412/437] tracing: Fix a potential NULL dereference [ commit 5e4cf2bf6d1c198a90ccc0df5ffd8e0d4ea36b48 ] diff --git a/kernel/patches-4.14.x-rt/0413-sched-fair-Fix-CFS-bandwidth-control-lockdep-DEADLOC.patch b/kernel/patches-4.14.x-rt/0413-sched-fair-Fix-CFS-bandwidth-control-lockdep-DEADLOC.patch index 920b68064..0cfbd968b 100644 --- a/kernel/patches-4.14.x-rt/0413-sched-fair-Fix-CFS-bandwidth-control-lockdep-DEADLOC.patch +++ b/kernel/patches-4.14.x-rt/0413-sched-fair-Fix-CFS-bandwidth-control-lockdep-DEADLOC.patch @@ -1,7 +1,7 @@ -From 447e59141f82bc93af90c53aa57bfbcbe0d18f1d Mon Sep 17 00:00:00 2001 +From e03fc4f4b97262c8bddc2e79a6203f422adc41c3 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 4 May 2018 08:14:38 +0200 -Subject: [PATCH 413/436] sched/fair: Fix CFS bandwidth control lockdep +Subject: [PATCH 413/437] sched/fair: Fix CFS bandwidth control lockdep DEADLOCK report [ Upstream commit df7e8acc0c9a84979a448d215b8ef889efe4ac5a ] @@ -38,10 +38,10 @@ Signed-off-by: Steven Rostedt (VMware) 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index 13a6f2f6bcf2..20e7d867af7a 100644 +index 9cae149e78b6..d0c0c13b3bcb 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -4686,9 +4686,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) +@@ -4701,9 +4701,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) cfs_b->period = ns_to_ktime(default_cfs_period()); INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); @@ -51,8 +51,8 @@ index 13a6f2f6bcf2..20e7d867af7a 100644 - hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); cfs_b->slack_timer.function = sched_cfs_slack_timer; + cfs_b->distribute_running = 0; } - -- 2.19.1 diff --git a/kernel/patches-4.14.x-rt/0414-locallock-provide-get-put-_locked_ptr-variants.patch b/kernel/patches-4.14.x-rt/0414-locallock-provide-get-put-_locked_ptr-variants.patch index 23b190073..ba74f0d5e 100644 --- a/kernel/patches-4.14.x-rt/0414-locallock-provide-get-put-_locked_ptr-variants.patch +++ b/kernel/patches-4.14.x-rt/0414-locallock-provide-get-put-_locked_ptr-variants.patch @@ -1,7 +1,7 @@ -From 2b1a2a149027a606cb7155a49a85d93ac254b369 Mon Sep 17 00:00:00 2001 +From 6e1dd27911fb7da4408d81137f91d0cef5d946a9 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Mon, 7 May 2018 08:58:56 -0500 -Subject: [PATCH 414/436] locallock: provide {get,put}_locked_ptr() variants +Subject: [PATCH 414/437] locallock: provide {get,put}_locked_ptr() variants [ Upstream commit 3d45cf23db4f76cd356ebb0aa4cdaa7d92d1a64e ] diff --git a/kernel/patches-4.14.x-rt/0415-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch b/kernel/patches-4.14.x-rt/0415-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch index 10fa55fdf..0fb0f6889 100644 --- a/kernel/patches-4.14.x-rt/0415-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch +++ b/kernel/patches-4.14.x-rt/0415-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch @@ -1,7 +1,7 @@ -From 48f7e3f3f964f681a4bf764de6aa0387040b28d8 Mon Sep 17 00:00:00 2001 +From 0eced237e47c220bbf17a7acad60f4f34328becb Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Mon, 7 May 2018 08:58:57 -0500 -Subject: [PATCH 415/436] squashfs: make use of local lock in multi_cpu +Subject: [PATCH 415/437] squashfs: make use of local lock in multi_cpu decompressor [ Upstream commit c160736542d7b3d67da32848d2f028b8e35730e5 ] diff --git a/kernel/patches-4.14.x-rt/0416-PM-suspend-Prevent-might-sleep-splats-updated.patch b/kernel/patches-4.14.x-rt/0416-PM-suspend-Prevent-might-sleep-splats-updated.patch index 1c3ea2614..c5dc3bd64 100644 --- a/kernel/patches-4.14.x-rt/0416-PM-suspend-Prevent-might-sleep-splats-updated.patch +++ b/kernel/patches-4.14.x-rt/0416-PM-suspend-Prevent-might-sleep-splats-updated.patch @@ -1,7 +1,7 @@ -From 4b61ddb0f60bef9e6d4b2afc13a45e7ac56c3eb7 Mon Sep 17 00:00:00 2001 +From 2c9553a6b784c6d6c423df6d05f39fb46218f9b1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 29 May 2018 17:44:24 +0200 -Subject: [PATCH 416/436] PM / suspend: Prevent might sleep splats (updated) +Subject: [PATCH 416/437] PM / suspend: Prevent might sleep splats (updated) [ Upstream commit ec7ff06b919647a2fd7d2761a26f5a1d465e819c ] diff --git a/kernel/patches-4.14.x-rt/0417-PM-wakeup-Make-events_lock-a-RAW_SPINLOCK.patch b/kernel/patches-4.14.x-rt/0417-PM-wakeup-Make-events_lock-a-RAW_SPINLOCK.patch index 36e89a3f9..db82398eb 100644 --- a/kernel/patches-4.14.x-rt/0417-PM-wakeup-Make-events_lock-a-RAW_SPINLOCK.patch +++ b/kernel/patches-4.14.x-rt/0417-PM-wakeup-Make-events_lock-a-RAW_SPINLOCK.patch @@ -1,7 +1,7 @@ -From 7c4d795f19c42ac79d15c8e32e0dd7e842b68028 Mon Sep 17 00:00:00 2001 +From d2b5a1778932ef8e6d6d9fad741154c7ac96ef12 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 25 May 2018 09:57:42 +0200 -Subject: [PATCH 417/436] PM / wakeup: Make events_lock a RAW_SPINLOCK +Subject: [PATCH 417/437] PM / wakeup: Make events_lock a RAW_SPINLOCK [ Upstream commit 1debb85a1d7d5c7655b4574f5b0ddf5f7c84873e ] diff --git a/kernel/patches-4.14.x-rt/0418-PM-s2idle-Make-s2idle_wait_head-swait-based.patch b/kernel/patches-4.14.x-rt/0418-PM-s2idle-Make-s2idle_wait_head-swait-based.patch index 2ff2ff222..26595ec76 100644 --- a/kernel/patches-4.14.x-rt/0418-PM-s2idle-Make-s2idle_wait_head-swait-based.patch +++ b/kernel/patches-4.14.x-rt/0418-PM-s2idle-Make-s2idle_wait_head-swait-based.patch @@ -1,7 +1,7 @@ -From 5fc93fc1792bc04e7247b2189ffab41dd28e47e5 Mon Sep 17 00:00:00 2001 +From 2803214c9456f6e0a7cf24b2177f744fbde0b2ec Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 25 May 2018 10:05:13 +0200 -Subject: [PATCH 418/436] PM / s2idle: Make s2idle_wait_head swait based +Subject: [PATCH 418/437] PM / s2idle: Make s2idle_wait_head swait based [ Upstream commit 93f141324d4860a1294e6899923c01ec5411d70b ] diff --git a/kernel/patches-4.14.x-rt/0419-seqlock-provide-the-same-ordering-semantics-as-mainl.patch b/kernel/patches-4.14.x-rt/0419-seqlock-provide-the-same-ordering-semantics-as-mainl.patch index 5af57d0a6..8f553737f 100644 --- a/kernel/patches-4.14.x-rt/0419-seqlock-provide-the-same-ordering-semantics-as-mainl.patch +++ b/kernel/patches-4.14.x-rt/0419-seqlock-provide-the-same-ordering-semantics-as-mainl.patch @@ -1,7 +1,7 @@ -From ed9c660f82dd0375456402a91e0a79a3806f8573 Mon Sep 17 00:00:00 2001 +From afe78b8ee4460bb77ce376aa675bcb60ee95ace2 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Thu, 26 Apr 2018 15:02:03 -0500 -Subject: [PATCH 419/436] seqlock: provide the same ordering semantics as +Subject: [PATCH 419/437] seqlock: provide the same ordering semantics as mainline [ Upstream commit afa4c06b89a3c0fb7784ff900ccd707bef519cb7 ] diff --git a/kernel/patches-4.14.x-rt/0420-Revert-x86-UV-raw_spinlock-conversion.patch b/kernel/patches-4.14.x-rt/0420-Revert-x86-UV-raw_spinlock-conversion.patch index b192424bf..f3297adf3 100644 --- a/kernel/patches-4.14.x-rt/0420-Revert-x86-UV-raw_spinlock-conversion.patch +++ b/kernel/patches-4.14.x-rt/0420-Revert-x86-UV-raw_spinlock-conversion.patch @@ -1,7 +1,7 @@ -From 60f51e3db19e151b853a63a15aba95042fd744c4 Mon Sep 17 00:00:00 2001 +From ac07ce3c3b6d12aae774e58bb8c449c772ecc185 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 18 Jun 2018 10:34:34 +0200 -Subject: [PATCH 420/436] Revert "x86: UV: raw_spinlock conversion" +Subject: [PATCH 420/437] Revert "x86: UV: raw_spinlock conversion" [ Upstream commit 2a9c45d8f89112458364285cbe2b0729561953f1 ] diff --git a/kernel/patches-4.14.x-rt/0421-Revert-timer-delay-waking-softirqs-from-the-jiffy-ti.patch b/kernel/patches-4.14.x-rt/0421-Revert-timer-delay-waking-softirqs-from-the-jiffy-ti.patch index 404229733..7bf1c3b9b 100644 --- a/kernel/patches-4.14.x-rt/0421-Revert-timer-delay-waking-softirqs-from-the-jiffy-ti.patch +++ b/kernel/patches-4.14.x-rt/0421-Revert-timer-delay-waking-softirqs-from-the-jiffy-ti.patch @@ -1,7 +1,7 @@ -From 17608ff4d9e40e39a7de8cf77292c8215b3aa611 Mon Sep 17 00:00:00 2001 +From d05efb043fdc95a8cf20c7b0642eeec1817f9c33 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Thu, 5 Jul 2018 12:43:18 +0200 -Subject: [PATCH 421/436] Revert "timer: delay waking softirqs from the jiffy +Subject: [PATCH 421/437] Revert "timer: delay waking softirqs from the jiffy tick" [ Upstream commit b5b16907c58280e015d5673dca4c6bd3fde0c348 ] diff --git a/kernel/patches-4.14.x-rt/0422-irqchip-gic-v3-its-Make-its_lock-a-raw_spin_lock_t.patch b/kernel/patches-4.14.x-rt/0422-irqchip-gic-v3-its-Make-its_lock-a-raw_spin_lock_t.patch index 0aed78376..f3c9b016f 100644 --- a/kernel/patches-4.14.x-rt/0422-irqchip-gic-v3-its-Make-its_lock-a-raw_spin_lock_t.patch +++ b/kernel/patches-4.14.x-rt/0422-irqchip-gic-v3-its-Make-its_lock-a-raw_spin_lock_t.patch @@ -1,7 +1,7 @@ -From 8e7b14f2d2e42d71e1a5f875e6ab4e546ff39f43 Mon Sep 17 00:00:00 2001 +From 931ccf1b69d6dfecdea4048cec1a5f212511960c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 13 Jul 2018 15:30:52 +0200 -Subject: [PATCH 422/436] irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t +Subject: [PATCH 422/437] irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t [ Upstream commit c7a3334c762a9b1dd2e39cb2ded00ce66e8a06d1 ] diff --git a/kernel/patches-4.14.x-rt/0423-sched-migrate_disable-fallback-to-preempt_disable-in.patch b/kernel/patches-4.14.x-rt/0423-sched-migrate_disable-fallback-to-preempt_disable-in.patch index e5f2714d4..0d974ecf6 100644 --- a/kernel/patches-4.14.x-rt/0423-sched-migrate_disable-fallback-to-preempt_disable-in.patch +++ b/kernel/patches-4.14.x-rt/0423-sched-migrate_disable-fallback-to-preempt_disable-in.patch @@ -1,7 +1,7 @@ -From e4ef5b65dfcb350f0071847c6e8d8575bebeb0cc Mon Sep 17 00:00:00 2001 +From db458c25559ed124e7b2dd0feeb8161f925fd4c2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Jul 2018 14:44:51 +0200 -Subject: [PATCH 423/436] sched/migrate_disable: fallback to preempt_disable() +Subject: [PATCH 423/437] sched/migrate_disable: fallback to preempt_disable() instead barrier() [ Upstream commit 10e90c155bbc7cab420f47694404f8f9fe33c2b2 ] @@ -73,7 +73,7 @@ index 0591df500e9d..6728662a81e8 100644 { return 0; diff --git a/include/linux/sched.h b/include/linux/sched.h -index c26b5ff005ab..a6ffb552be01 100644 +index 462baf19cf41..5d069426cbea 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -626,7 +626,7 @@ struct task_struct { @@ -96,7 +96,7 @@ index c26b5ff005ab..a6ffb552be01 100644 # endif #endif diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index e7817c6c44d2..fa5b76255f8c 100644 +index d7bfa2dd53e4..97b690d741f4 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1107,7 +1107,7 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -126,7 +126,7 @@ index e7817c6c44d2..fa5b76255f8c 100644 if (__migrate_disabled(p)) { p->migrate_disable_update = 1; goto out; -@@ -6897,7 +6897,7 @@ const u32 sched_prio_to_wmult[40] = { +@@ -6903,7 +6903,7 @@ const u32 sched_prio_to_wmult[40] = { /* 15 */ 119304647, 148102320, 186737708, 238609294, 286331153, }; @@ -135,7 +135,7 @@ index e7817c6c44d2..fa5b76255f8c 100644 static inline void update_nr_migratory(struct task_struct *p, long delta) -@@ -7048,45 +7048,44 @@ EXPORT_SYMBOL(migrate_enable); +@@ -7054,45 +7054,44 @@ EXPORT_SYMBOL(migrate_enable); #elif !defined(CONFIG_SMP) && defined(CONFIG_PREEMPT_RT_BASE) void migrate_disable(void) { diff --git a/kernel/patches-4.14.x-rt/0424-irqchip-gic-v3-its-Move-ITS-pend_page-allocation-int.patch b/kernel/patches-4.14.x-rt/0424-irqchip-gic-v3-its-Move-ITS-pend_page-allocation-int.patch index ea1f0d699..b3b476bf3 100644 --- a/kernel/patches-4.14.x-rt/0424-irqchip-gic-v3-its-Move-ITS-pend_page-allocation-int.patch +++ b/kernel/patches-4.14.x-rt/0424-irqchip-gic-v3-its-Move-ITS-pend_page-allocation-int.patch @@ -1,7 +1,7 @@ -From bedbb68b4a8fe55c10d3bdad88139eb02e6c6cc0 Mon Sep 17 00:00:00 2001 +From 1536114d052ea22427284cb92273283011d46bf6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 13 Jul 2018 15:45:36 +0200 -Subject: [PATCH 424/436] irqchip/gic-v3-its: Move ITS' ->pend_page allocation +Subject: [PATCH 424/437] irqchip/gic-v3-its: Move ITS' ->pend_page allocation into an early CPU up hook [ Upstream commit e083f14dc2e98ced872bf077b4d1cccf95b7e4f8 ] diff --git a/kernel/patches-4.14.x-rt/0425-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch b/kernel/patches-4.14.x-rt/0425-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch index e14a6b4bf..8fe45fc7b 100644 --- a/kernel/patches-4.14.x-rt/0425-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch +++ b/kernel/patches-4.14.x-rt/0425-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch @@ -1,7 +1,7 @@ -From d3cab0b13fb3ed2213a7b78aa2a43d2ba5c0d79d Mon Sep 17 00:00:00 2001 +From 0f211fcb3e547aaa7e2148b82f3a019aa9eb0ffd Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Fri, 27 Jul 2018 13:38:54 +0100 -Subject: [PATCH 425/436] irqchip/gic-v3-its: Move pending table allocation to +Subject: [PATCH 425/437] irqchip/gic-v3-its: Move pending table allocation to init time [ Upstream commit 4a0819bb25d12d39c0390636122eefba232596c1 ] diff --git a/kernel/patches-4.14.x-rt/0426-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch b/kernel/patches-4.14.x-rt/0426-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch index ba17ba77e..0de5e1440 100644 --- a/kernel/patches-4.14.x-rt/0426-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch +++ b/kernel/patches-4.14.x-rt/0426-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch @@ -1,7 +1,7 @@ -From cfbbccbd07a88130ae428d5ad487ac1789407621 Mon Sep 17 00:00:00 2001 +From c7627c7bde5f3a171a7838b80b8e146e9deb79ae Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 19 Jul 2018 21:50:23 +0200 -Subject: [PATCH 426/436] x86/ioapic: Don't let setaffinity unmask threaded EOI +Subject: [PATCH 426/437] x86/ioapic: Don't let setaffinity unmask threaded EOI interrupt too early [ Upstream commit ac14002317721910204b82b9d8611dadb1cec2bb ] diff --git a/kernel/patches-4.14.x-rt/0427-efi-Allow-efi-runtime.patch b/kernel/patches-4.14.x-rt/0427-efi-Allow-efi-runtime.patch index 32ed007c0..f6b3c456f 100644 --- a/kernel/patches-4.14.x-rt/0427-efi-Allow-efi-runtime.patch +++ b/kernel/patches-4.14.x-rt/0427-efi-Allow-efi-runtime.patch @@ -1,7 +1,7 @@ -From 42338db617d6ca8d8981d4f456f47dcb39656e49 Mon Sep 17 00:00:00 2001 +From 18fe30d8c5cba94eb27edfb01aa859bd05e8df12 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:06:10 +0200 -Subject: [PATCH 427/436] efi: Allow efi=runtime +Subject: [PATCH 427/437] efi: Allow efi=runtime [ Upstream commit 71bef7da4112ed2677d4f10a58202a5a4638fb90 ] diff --git a/kernel/patches-4.14.x-rt/0428-efi-Disable-runtime-services-on-RT.patch b/kernel/patches-4.14.x-rt/0428-efi-Disable-runtime-services-on-RT.patch index 7e3a8e7ea..e4bdb3372 100644 --- a/kernel/patches-4.14.x-rt/0428-efi-Disable-runtime-services-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0428-efi-Disable-runtime-services-on-RT.patch @@ -1,7 +1,7 @@ -From 8e20fe1ebfca9ba2552ab961b55df9dcf8b8b0a7 Mon Sep 17 00:00:00 2001 +From 74a94472ee3b10f3ee5a2bd59cf4a24d51f1e635 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:03:16 +0200 -Subject: [PATCH 428/436] efi: Disable runtime services on RT +Subject: [PATCH 428/437] efi: Disable runtime services on RT [ Upstream commit 55544e1d5eb0d7608e2b41452729649c8ea1607a ] diff --git a/kernel/patches-4.14.x-rt/0429-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch b/kernel/patches-4.14.x-rt/0429-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch index 631add673..30ae6e2cd 100644 --- a/kernel/patches-4.14.x-rt/0429-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch +++ b/kernel/patches-4.14.x-rt/0429-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch @@ -1,7 +1,7 @@ -From b1a030c98e09b4f87828c1ebed239423f5e32e17 Mon Sep 17 00:00:00 2001 +From 17d691e76e9bf821fa0f10311b91b42bb1b3857a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 18:52:00 +0200 -Subject: [PATCH 429/436] crypto: cryptd - add a lock instead +Subject: [PATCH 429/437] crypto: cryptd - add a lock instead preempt_disable/local_bh_disable [ Upstream commit 21aedb30d85979697f79a72a084e5d781e323663 ] diff --git a/kernel/patches-4.14.x-rt/0430-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch b/kernel/patches-4.14.x-rt/0430-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch index 02f1bc61e..b5174085e 100644 --- a/kernel/patches-4.14.x-rt/0430-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch +++ b/kernel/patches-4.14.x-rt/0430-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch @@ -1,7 +1,7 @@ -From 8d2810744e9411139258f78334757248d0d60dcc Mon Sep 17 00:00:00 2001 +From 33b672b6b513a144f0ccb471e007a9a7e7544af0 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 11 Jul 2018 17:14:47 +0200 -Subject: [PATCH 430/436] crypto: scompress - serialize RT percpu scratch +Subject: [PATCH 430/437] crypto: scompress - serialize RT percpu scratch buffer access with a local lock [ Upstream commit 1a4eff3f8e743d149be26a414822710aef07fe14 ] diff --git a/kernel/patches-4.14.x-rt/0431-sched-core-Avoid-__schedule-being-called-twice-in-a-.patch b/kernel/patches-4.14.x-rt/0431-sched-core-Avoid-__schedule-being-called-twice-in-a-.patch index 0e94f4bec..98e438c96 100644 --- a/kernel/patches-4.14.x-rt/0431-sched-core-Avoid-__schedule-being-called-twice-in-a-.patch +++ b/kernel/patches-4.14.x-rt/0431-sched-core-Avoid-__schedule-being-called-twice-in-a-.patch @@ -1,7 +1,7 @@ -From 969f21446a37cb447b03b1971a22ab91ec05ff22 Mon Sep 17 00:00:00 2001 +From 339ab2c54f152afd0404e49eaa811e16f0f8ba4a Mon Sep 17 00:00:00 2001 From: Daniel Bristot de Oliveira Date: Mon, 30 Jul 2018 15:00:00 +0200 -Subject: [PATCH 431/436] sched/core: Avoid __schedule() being called twice in +Subject: [PATCH 431/437] sched/core: Avoid __schedule() being called twice in a row [ Upstream commit 2bb94c48b2ffaabf8c15a51e5cc1b4c541988cab ] @@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index fa5b76255f8c..a5ce37b90fca 100644 +index 97b690d741f4..e1fc94836fe0 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3482,10 +3482,15 @@ static inline void sched_submit_work(struct task_struct *tsk) diff --git a/kernel/patches-4.14.x-rt/0432-Revert-arm64-xen-Make-XEN-depend-on-RT.patch b/kernel/patches-4.14.x-rt/0432-Revert-arm64-xen-Make-XEN-depend-on-RT.patch index c965af12a..72c4cb828 100644 --- a/kernel/patches-4.14.x-rt/0432-Revert-arm64-xen-Make-XEN-depend-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0432-Revert-arm64-xen-Make-XEN-depend-on-RT.patch @@ -1,7 +1,7 @@ -From e2f59edd8b939d079f63986580dee59732561a2e Mon Sep 17 00:00:00 2001 +From b22fe53abbec4dc14892f13227d5fcac87fdbfa8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 2 Aug 2018 17:11:01 +0200 -Subject: [PATCH 432/436] Revert "arm64/xen: Make XEN depend on !RT" +Subject: [PATCH 432/437] Revert "arm64/xen: Make XEN depend on !RT" [ Upstream commit c0a308b58829bd4066bce841fe49e8277a0cb32b ] diff --git a/kernel/patches-4.14.x-rt/0433-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch b/kernel/patches-4.14.x-rt/0433-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch index 8664da3f0..f62844677 100644 --- a/kernel/patches-4.14.x-rt/0433-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch +++ b/kernel/patches-4.14.x-rt/0433-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch @@ -1,7 +1,7 @@ -From 1220b7ab5f325a287e78f9ec5fe3ba356358a600 Mon Sep 17 00:00:00 2001 +From 4326f7d62d7ab0d3e95e49e9fc806866aba01d26 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 19 Aug 2018 08:28:35 +0200 -Subject: [PATCH 433/436] sched: Allow pinned user tasks to be awakened to the +Subject: [PATCH 433/437] sched: Allow pinned user tasks to be awakened to the CPU they pinned [ Upstream commit cd4d35ef89948221f7cd1751cee453943967364c ] @@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a5ce37b90fca..6e6bd5262f23 100644 +index e1fc94836fe0..6ce950f24a7f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -980,7 +980,7 @@ static inline bool is_cpu_allowed(struct task_struct *p, int cpu) diff --git a/kernel/patches-4.14.x-rt/0434-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch b/kernel/patches-4.14.x-rt/0434-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch index 7bb8f2894..1b56ce583 100644 --- a/kernel/patches-4.14.x-rt/0434-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch +++ b/kernel/patches-4.14.x-rt/0434-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch @@ -1,7 +1,7 @@ -From a05e2428f80d25646d2e684f44258dd802e1ec23 Mon Sep 17 00:00:00 2001 +From 8fd20e50ef3f7e79440646e5152d2070c2894059 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 29 Aug 2018 21:59:04 +0200 -Subject: [PATCH 434/436] Drivers: hv: vmbus: include header for get_irq_regs() +Subject: [PATCH 434/437] Drivers: hv: vmbus: include header for get_irq_regs() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -21,14 +21,13 @@ Reported-by: Bernhard Landauer Reported-by: Ralf Ramsauer Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Steven Rostedt (VMware) -[just rebase for linuxkit patches.] Integrated-by: Tiejun Chen --- drivers/hv/hyperv_vmbus.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h -index 49569f8f..188724e4 100644 +index 49569f8fe038..a3608cd52805 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h @@ -26,6 +26,7 @@ @@ -40,5 +39,5 @@ index 49569f8f..188724e4 100644 #include #include -- -2.17.1 +2.19.1 diff --git a/kernel/patches-4.14.x-rt/0435-Revert-softirq-keep-the-softirq-pending-check-RT-onl.patch b/kernel/patches-4.14.x-rt/0435-Revert-softirq-keep-the-softirq-pending-check-RT-onl.patch index 9824dd7bd..b071d149a 100644 --- a/kernel/patches-4.14.x-rt/0435-Revert-softirq-keep-the-softirq-pending-check-RT-onl.patch +++ b/kernel/patches-4.14.x-rt/0435-Revert-softirq-keep-the-softirq-pending-check-RT-onl.patch @@ -1,7 +1,7 @@ -From d934c3d6853f8b23f9fac1635fe4eaefdcebbdd2 Mon Sep 17 00:00:00 2001 +From 0b426ba3f0d9f10f0e68cc12ec761cbc18ad7e07 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 7 Sep 2018 15:49:16 -0400 -Subject: [PATCH 435/436] Revert "softirq: keep the 'softirq pending' check +Subject: [PATCH 435/437] Revert "softirq: keep the 'softirq pending' check RT-only" This reverts commit 5536f5491a2e098ba34995662dfc0e82d66d65c9. diff --git a/kernel/patches-4.14.x-rt/0436-printk-Do-not-disable-preemption-calling-console_unl.patch b/kernel/patches-4.14.x-rt/0436-printk-Do-not-disable-preemption-calling-console_unl.patch new file mode 100644 index 000000000..30462014c --- /dev/null +++ b/kernel/patches-4.14.x-rt/0436-printk-Do-not-disable-preemption-calling-console_unl.patch @@ -0,0 +1,45 @@ +From cf8995800318059df3252b7c58fca53dc3e59062 Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Tue, 18 Dec 2018 14:30:10 -0500 +Subject: [PATCH 436/437] printk: Do not disable preemption calling + console_unlock() in PREEMPT_RT + +A stable backport placed open coded preempt_disable() around console_unlock() +to prevent delays in output of printk() due to a task holding the console +lock being preempted. But most consoles are not PREEMPT_RT safe, thus +it needs to be preemptable when PREEMPT_RT is enabled. + +Replace the open coded preempt_disable() with migrate_disable() which +is a preempt_disable() on non PREEMPT_RT, but just disables migration +on PREEMPT_RT, even though it doesn't really depend on that. + +Signed-off-by: Steven Rostedt +--- + kernel/printk/printk.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c +index 8a7c4f79fca0..029ae3caa80e 100644 +--- a/kernel/printk/printk.c ++++ b/kernel/printk/printk.c +@@ -1811,7 +1811,7 @@ asmlinkage int vprintk_emit(int facility, int level, + * console_sem which would prevent anyone from printing to + * console + */ +- preempt_disable(); ++ migrate_disable(); + /* + * Try to acquire and then immediately release the console + * semaphore. The release will print out buffers and wake up +@@ -1819,7 +1819,7 @@ asmlinkage int vprintk_emit(int facility, int level, + */ + if (may_trylock && console_trylock()) + console_unlock(); +- preempt_enable(); ++ migrate_enable(); + } + + return printed_len; +-- +2.19.1 + diff --git a/kernel/patches-4.14.x-rt/0436-Linux-4.14.78-rt47-REBASE.patch b/kernel/patches-4.14.x-rt/0437-Linux-4.14.87-rt49-REBASE.patch similarity index 64% rename from kernel/patches-4.14.x-rt/0436-Linux-4.14.78-rt47-REBASE.patch rename to kernel/patches-4.14.x-rt/0437-Linux-4.14.87-rt49-REBASE.patch index d12926e38..e1ce9df5b 100644 --- a/kernel/patches-4.14.x-rt/0436-Linux-4.14.78-rt47-REBASE.patch +++ b/kernel/patches-4.14.x-rt/0437-Linux-4.14.87-rt49-REBASE.patch @@ -1,19 +1,19 @@ -From 42699cec0fa254a9b752ea2922a003427829d526 Mon Sep 17 00:00:00 2001 +From e4f32b92f9cfa15b928173de2437b1015a831874 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 5 Sep 2018 08:08:53 -0400 -Subject: [PATCH 436/436] Linux 4.14.78-rt47 REBASE +Subject: [PATCH 437/437] Linux 4.14.87-rt49 REBASE --- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/localversion-rt b/localversion-rt -index 90290c642ed5..8a777ac42aab 100644 +index 90290c642ed5..4b7dca68a5b4 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt29 -+-rt47 ++-rt49 -- 2.19.1