diff --git a/.gitignore b/.gitignore
index 3b77491..ad81bef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-SOURCES/kernel-rt-3.10.0-693.11.1.rt56.639.tar.xz
+SOURCES/kernel-rt-3.10.0-693.17.1.rt56.636.tar.xz
 SOURCES/rheldup3.x509
 SOURCES/rhelkpatch1.x509
diff --git a/.kernel-rt.metadata b/.kernel-rt.metadata
index 952099e..6e7a3fb 100644
--- a/.kernel-rt.metadata
+++ b/.kernel-rt.metadata
@@ -1,3 +1,3 @@
-8ff460ba3ed437217b334dd9c97d6a86bce8896c SOURCES/kernel-rt-3.10.0-693.11.1.rt56.639.tar.xz
+562524dba4191792726177db50e39936efae25c5 SOURCES/kernel-rt-3.10.0-693.17.1.rt56.636.tar.xz
 95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
 d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509
diff --git a/SPECS/kernel-rt.spec b/SPECS/kernel-rt.spec
index 2d26840..60787ac 100644
--- a/SPECS/kernel-rt.spec
+++ b/SPECS/kernel-rt.spec
@@ -9,10 +9,10 @@ Summary: The Linux Realtime kernel
 %endif
 
 # realtimeN
-%global rtbuild 639
+%global rtbuild 636
 
 # RHEL7 build number
-%global rhel_build 693.11.1
+%global rhel_build 693.17.1
 
 # The preempt RT patch level
 %global rttag rt56
@@ -1431,150 +1431,19 @@ fi
 %endif
 
 %changelog
-* Thu Dec 28 2017 Clark Williams <williams@redhat.com> [3.10.0-693.11.1.rt56.639.el7]
-- [rt] Update source tree to match RHEL 7.4 tree [1489084 1462329]
-- x86/spec_ctrl: svm: spec_ctrl at vmexit needs per-cpu areas functional (Andrea Arcangeli)
-- x86/mm/kaiser: init_tss is supposed to go in the PAGE_ALIGNED per-cpu section (Andrea Arcangeli)
-- x86/spec_ctrl: Eliminate redundnat FEATURE Not Present messages (Waiman Long)
-- x86/kaiser/mm: skip IBRS/CR3 restore when paranoid exception returns to userland (Andrea Arcangeli)
-- x86/kaiser/mm: consider the init_mm.pgd a kaiser pgd (Andrea Arcangeli)
-- x86/kaiser/mm: convert userland visible "kpti" name to "pti" (Andrea Arcangeli)
-- Revert "x86/entry: Use retpoline for syscall's indirect calls" (Josh Poimboeuf)
-- x86/spec_ctrl: set IBRS during resume from RAM if ibrs_enabled is 2 (Andrea Arcangeli)
-- x86/kaiser/mm: __load_cr3 in resume from RAM after kernel gs has been restored (Andrea Arcangeli)
-- x86/spec_ctrl: allow use_ibp_disable only if both SPEC_CTRL and IBPB_SUPPORT are missing (Andrea Arcangeli)
-- x86/spec_ctrl: Documentation spec_ctrl.txt (Andrea Arcangeli)
-- x86/spec_ctrl: remove irqs_disabled() check from intel_idle() (Andrea Arcangeli)
-- x86/spec_ctrl: use enum when setting ibrs/ibpb_enabled (Josh Poimboeuf)
-- x86/spec_ctrl: undo speculation barrier for ibrs_enabled and noibrs_cmdline (Andrea Arcangeli)
-- x86/spec_ctrl: introduce ibpb_enabled = 2 for IBPB instead of IBRS (Andrea Arcangeli)
-- x86/spec_ctrl: introduce SPEC_CTRL_PCP_ONLY_IBPB (Andrea Arcangeli)
-- x86/spec_ctrl: cleanup s/flush/sync/ naming when sending IPIs (Andrea Arcangeli)
-- x86/spec_ctrl: set IBRS during CPU init if in ibrs_enabled == 2 (Andrea Arcangeli)
-- x86/spec_ctrl: use IBRS_ENABLED instead of 1 (Andrea Arcangeli)
-- x86/spec_ctrl: allow the IBP disable feature to be toggled at runtime (Andrea Arcangeli)
-- x86/spec_ctrl: always initialize save_reg in ENABLE_IBRS_SAVE_AND_CLOBBER (Andrea Arcangeli)
-- x86/spec_ctrl: ibrs_enabled() is expected to return > 1 (Andrea Arcangeli)
-- x86/spec_ctrl: issue a __spec_ctrl_ibpb if a credential check isn't possible (Andrea Arcangeli)
-- ibpb: don't optimize spec_cntrl_ibpb on PREEMPT_RCU (Clark Williams)
-- x86/spec_ctrl: clear registers after 32bit syscall stackframe is setup (Andrea Arcangeli)
-- x86/spec_ctrl: reload spec_ctrl cpuid in all microcode load paths (Andrea Arcangeli)
-- x86/kaiser/mm: fix pgd freeing in error path (Andrea Arcangeli)
-- x86/mm/kaiser: disable global pages by default with KAISER (Dave Hansen)
-- Revert "x86/mm/kaiser: Disable global pages by default with KAISER" (Josh Poimboeuf)
-- x86/spec_ctrl: Prevent unwanted speculation without IBRS (Josh Poimboeuf)
-- x86/entry: Remove trampoline check from paranoid entry path (Josh Poimboeuf)
-- x86/entry: Fix paranoid_exit() trampoline clobber (Josh Poimboeuf)
-- x86/entry: Simplify trampoline stack restore code (Waiman Long)
-- x86/dumpstack: Remove raw stack dump (Scott Wood)
-- x86/spec_ctrl: remove SPEC_CTRL_DEBUG code (Josh Poimboeuf)
-- x86/spec_ctrl: add noibrs noibpb boot options (Andrea Arcangeli)
-- x86/entry: Use retpoline for syscall's indirect calls (Tim Chen)
-- x86/syscall: Clear unused extra registers on 32-bit compatible syscall entrance (Tim Chen)
-- x86/spec_ctrl: cleanup unnecessary ptregscall_common function (Andrea Arcangeli)
-- x86/spec_ctrl: CLEAR_EXTRA_REGS and extra regs save/restore (Josh Poimboeuf)
-- x86/syscall: Clear unused extra registers on syscall entrance (Tim Chen)
-- x86/spec_ctrl: rescan cpuid after a late microcode update (Andrea Arcangeli)
-- x86/spec_ctrl: add debugfs ibrs_enabled ibpb_enabled (Andrea Arcangeli)
-- x86/spec_ctrl: consolidate the spec control boot detection (Andrea Arcangeli)
-- x86/KVM/spec_ctrl: allow IBRS to stay enabled in host userland (Andrea Arcangeli)
-- x86/spec_ctrl: add debug aid to test the entry code without microcode (Andrea Arcangeli)
-- x86/spec_ctrl: move stuff_RSB in spec_ctrl.h (Andrea Arcangeli)
-- x86/entry: Stuff RSB for entry to kernel for non-SMEP platform (Tim Chen)
-- x86/mm: Only set IBPB when the new thread cannot ptrace current thread (Tim Chen)
-- x86/mm: Set IBPB upon context switch (Tim Chen)
-- x86/idle: Disable IBRS when offlining cpu and re-enable on wakeup (Tim Chen)
-- x86/idle: Disable IBRS entering idle and enable it on wakeup (Tim Chen)
-- x86/spec_ctrl: implement spec ctrl C methods (Andrea Arcangeli)
-- x86/spec_ctrl: save IBRS MSR value in save_paranoid for NMI (Andrea Arcangeli)
-- x86/enter: Use IBRS on syscall and interrupts (Tim Chen)
-- x86/spec_ctrl: swap rdx with rsi for nmi nesting detection (Andrea Arcangeli)
-- x86/spec_ctrl: spec_ctrl_pcp and kaiser_enabled_pcp in same cachline (Andrea Arcangeli)
-- x86/spec_ctrl: use per-cpu knob instead of ALTERNATIVES for ibpb and ibrs (Andrea Arcangeli)
-- x86/enter: MACROS to set/clear IBRS and set IBPB (Tim Chen)
-- KVM: x86: add SPEC_CTRL to MSR and CPUID lists (Paolo Bonzini)
-- kvm: svm: add MSR_IA32_SPEC_CTRL and MSR_IA32_PRED_CMD (Paolo Bonzini)
-- x86/svm: Set IBPB when running a different VCPU (Paolo Bonzini)
-- kvm: vmx: add MSR_IA32_SPEC_CTRL and MSR_IA32_PRED_CMD (Paolo Bonzini)
-- kvm: vmx: Set IBPB when running a different VCPU (Tim Chen)
-- KVM: x86: clear registers on VM exit (Tom Lendacky)
-- x86/kvm: Pad RSB on VM transition (Tim Chen)
-- x86/cpu/AMD: Control indirect branch predictor when SPEC_CTRL not available (Tom Lendacky)
-- x86/feature: Report presence of IBPB and IBRS control (Tim Chen)
-- x86/feature: Enable the x86 feature to control Speculation (Tim Chen)
-- objtool: Don't print 'call dest' warnings for ignored functions (Josh Poimboeuf)
-- locking/barriers: prevent speculative execution based on Coverity scan results (Josh Poimboeuf)
-- udf: prevent speculative execution (Elena Reshetova)
-- fs: prevent speculative execution (Elena Reshetova)
-- userns: prevent speculative execution (Elena Reshetova)
-- qla2xxx: prevent speculative execution (Elena Reshetova)
-- p54: prevent speculative execution (Elena Reshetova)
-- carl9170: prevent speculative execution (Elena Reshetova)
-- uvcvideo: prevent speculative execution (Elena Reshetova)
-- x86/cpu/AMD: Remove now unused definition of MFENCE_RDTSC feature (Tom Lendacky)
-- x86/cpu/AMD: Make the LFENCE instruction serialized (Tom Lendacky)
-- locking/barriers: introduce new memory barrier gmb() (Elena Reshetova)
-- x86/mm/kaiser: Replace kaiser with kpti to sync with upstream (Waiman Long)
-- x86/mm/kaiser: add "kaiser" and "nokaiser" boot options (Waiman Long)
-- x86/mm/kaiser: map the trace idt tables in userland shadow pgd (Andrea Arcangeli)
-- x86/mm/kaiser: fix RESTORE_CR3 crash in kaiser_stop_machine (Andrea Arcangeli)
-- x86/mm/kaiser: use stop_machine for enable/disable knob (Andrea Arcangeli)
-- x86/mm/kaiser: use atomic ops to poison/unpoison user pagetables (Andrea Arcangeli)
-- x86/mm/kaiser: use invpcid to flush the two kaiser PCID AISD (Andrea Arcangeli)
-- x86/mm/kaiser: use two PCID ASIDs optimize the TLB during enter/exit kernel (Andrea Arcangeli)
-- x86/mm/kaiser: stop patching flush_tlb_single (Andrea Arcangeli)
-- x86/mm/kaiser: use PCID feature to make user and kernel switches faster (Dave Hansen)
-- x86/mm: If INVPCID is available, use it to flush global mappings (Andy Lutomirski)
-- x86/mm/64: Fix reboot interaction with CR4.PCIDE (Andy Lutomirski)
-- x86/mm/64: Initialize CR4.PCIDE early (Andy Lutomirski)
-- x86/mm: Add a 'noinvpcid' boot option to turn off INVPCID (Andy Lutomirski)
-- x86/mm: Add the 'nopcid' boot option to turn off PCID (Andy Lutomirski)
-- x86/mm/kaiser: validate trampoline stack (Andrea Arcangeli)
-- x86/entry: Move SYSENTER_stack to the beginning of struct tss_struct (Andy Lutomirski)
-- x86/mm/kaiser: isolate the user mapped per cpu areas (Andrea Arcangeli)
-- x86/mm/kaiser: enable kaiser in build (Andrea Arcangeli)
-- x86/mm/kaiser: selective boot time defaults (Andrea Arcangeli)
-- x86/mm/kaiser: handle call to xen_pv_domain() on PREEMPT_RT (Clark Williams)
-- x86/mm/kaiser/xen: Dynamically disable KAISER when running under Xen PV (Dave Hansen)
-- x86/mm/kaiser: add Kconfig (Dave Hansen)
-- x86/mm/kaiser: avoid false positives during non-kaiser pgd updates (Andrea Arcangeli)
-- x86/mm/kaiser: Respect disabled CPU features (Thomas Gleixner)
-- x86/mm/kaiser: trampoline stack comments (Josh Poimboeuf)
-- x86/mm/kaiser: stack trampoline (Andrea Arcangeli)
-- x86/mm/kaiser: remove paravirt clock warning (Andrea Arcangeli)
-- x86/mm/kaiser: re-enable vsyscalls (Andrea Arcangeli)
-- x86/mm/kaiser: allow to build KAISER with KASRL (Andrea Arcangeli)
-- x86/mm/kaiser: allow KAISER to be enabled/disabled at runtime (Dave Hansen)
-- x86/mm/kaiser: un-poison PGDs at runtime (Dave Hansen)
-- x86/mm/kaiser: add a function to check for KAISER being enabled (Dave Hansen)
-- x86/mm/kaiser: add debugfs file to turn KAISER on/off at runtime (Dave Hansen)
-- x86/mm/kaiser: disable native VSYSCALL (Dave Hansen)
-- x86/mm/kaiser: map virtually-addressed performance monitoring buffers (Hugh Dickins)
-- x86/mm/kaiser: map debug IDT tables (Dave Hansen)
-- x86/mm/kaiser: add kprobes text section (Andrea Arcangeli)
-- x86/mm/kaiser: map trace interrupt entry (Dave Hansen)
-- x86/mm/kaiser: map entry stack per-cpu areas (Andrea Arcangeli)
-- x86/mm/kaiser: map dynamically-allocated LDTs (Dave Hansen)
-- x86/mm/kaiser: make sure static PGDs are 8k in size (Dave Hansen)
-- x86/mm/kaiser: allow NX poison to be set in p4d/pgd (Dave Hansen)
-- x86/mm/kaiser: unmap kernel from userspace page tables (core patch) (Dave Hansen)
-- x86/mm/kaiser: mark per-cpu data structures required for entry/exit (Dave Hansen)
-- x86/mm/kaiser: introduce user-mapped per-cpu areas (Dave Hansen)
-- x86/mm/kaiser: add cr3 switches to entry code (Andrea Arcangeli)
-- x86/mm/kaiser: remove scratch registers (Andrea Arcangeli)
-- x86/mm/kaiser: prepare assembly for entry/exit CR3 switching (Dave Hansen)
-- x86/mm/kaiser: Disable global pages by default with KAISER (Dave Hansen)
-- x86/mm: Document X86_CR4_PGE toggling behavior (Dave Hansen)
-- x86/mm/tlb: Make CR4-based TLB flushes more robust (Dave Hansen)
-- x86/mm: Do not set _PAGE_USER for init_mm page tables (Dave Hansen)
-- x86: increase robusteness of bad_iret fixup handler (Andrea Arcangeli)
-- perf/x86/intel/uncore: Fix memory leaks on allocation failures (Colin Ian King)
-- userfaultfd: hugetlbfs: prevent UFFDIO_COPY to fill beyond the end of i_size (Andrea Arcangeli)
-- userfaultfd: non-cooperative: fix fork use after free (Andrea Arcangeli)
-- userfaultfd: hugetlbfs: remove superfluous page unlock in VM_SHARED case (Andrea Arcangeli)
-- mm: fix bad rss-counter if remap_file_pages raced migration (Hugh Dickins)
-- redhat: reduce build xz compression to speed it up (Andrea Arcangeli)
-- gcc: fix build with 6.4.0 PIE default (Andrea Arcangeli)
+* Tue Jan 16 2018 Clark Williams <williams@redhat.com> [3.10.0-693.17.1.rt56.636.el7]
+- [rt] Update source tree to match RHEL 7.4 tree [1519506 1462329]
+
+* Fri Jan 12 2018 Clark Williams <williams@redhat.com> [3.10.0-693.16.1.rt56.635.el7]
+- [rt] Update source tree to match RHEL 7.4 tree [1519506 1462329]
+
+* Tue Dec 19 2017 Clark Williams <williams@redhat.com> [3.10.0-693.15.1.rt56.634.el7]
+- [rt] Update source tree to match RHEL 7.4 tree [1519506 1462329]
+- net: fix preemption imbalance in netif_rx_ni() ("Luis Claudio R. Goncalves")
+
+* Thu Dec 14 2017 Clark Williams <williams@redhat.com> [3.10.0-693.15.1.rt56.633.el7]
+- [rt] Update source tree to match RHEL 7.4 tree [1519506 1462329]
+- [rt] 7.4.z batch#4 update bugzilla (Clark Williams)
 
 * Thu Nov 09 2017 Clark Williams <williams@redhat.com> [3.10.0-693.11.1.rt56.632.el7]
 - [rt] Update source tree to match RHEL 7.4 tree [1489084 1462329]