forked from rubenslte/android_kernel_samsung_msm8226
Merge remote-tracking branch 'google-common/deprecated/android-3.4' into lineage-16.0
Change-Id: I363f9d4d0623906eaffffb3747a162ccbc92ccb0 Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
This commit is contained in:
committed by
Francescodario Cuzzocrea
parent
d9d42139ea
commit
0fdd45c3ac
+11
-1
@@ -178,14 +178,24 @@ config LOCKUP_DETECTOR
|
||||
The overhead should be minimal. A periodic hrtimer runs to
|
||||
generate interrupts and kick the watchdog task every 4 seconds.
|
||||
An NMI is generated every 10 seconds or so to check for hardlockups.
|
||||
If NMIs are not available on the platform, every 12 seconds the
|
||||
hrtimer interrupt on one cpu will be used to check for hardlockups
|
||||
on the next cpu.
|
||||
|
||||
The frequency of hrtimer and NMI events and the soft and hard lockup
|
||||
thresholds can be controlled through the sysctl watchdog_thresh.
|
||||
|
||||
config HARDLOCKUP_DETECTOR
|
||||
config HARDLOCKUP_DETECTOR_NMI
|
||||
def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \
|
||||
!HAVE_NMI_WATCHDOG
|
||||
|
||||
config HARDLOCKUP_DETECTOR_OTHER_CPU
|
||||
def_bool LOCKUP_DETECTOR && SMP && !HARDLOCKUP_DETECTOR_NMI && \
|
||||
!HAVE_NMI_WATCHDOG
|
||||
|
||||
config HARDLOCKUP_DETECTOR
|
||||
def_bool HARDLOCKUP_DETECTOR_NMI || HARDLOCKUP_DETECTOR_OTHER_CPU
|
||||
|
||||
config BOOTPARAM_HARDLOCKUP_PANIC
|
||||
bool "Panic (Reboot) On Hard Lockups"
|
||||
depends on LOCKUP_DETECTOR
|
||||
|
||||
@@ -89,9 +89,11 @@ copy_literal_run:
|
||||
COPY8(op, ip);
|
||||
op += 8;
|
||||
ip += 8;
|
||||
# if !defined(__arm__)
|
||||
COPY8(op, ip);
|
||||
op += 8;
|
||||
ip += 8;
|
||||
# endif
|
||||
} while (ip < ie);
|
||||
ip = ie;
|
||||
op = oe;
|
||||
@@ -190,9 +192,11 @@ copy_literal_run:
|
||||
COPY8(op, m_pos);
|
||||
op += 8;
|
||||
m_pos += 8;
|
||||
# if !defined(__arm__)
|
||||
COPY8(op, m_pos);
|
||||
op += 8;
|
||||
m_pos += 8;
|
||||
# endif
|
||||
} while (op < oe);
|
||||
op = oe;
|
||||
if (HAVE_IP(6)) {
|
||||
|
||||
@@ -12,8 +12,14 @@
|
||||
*/
|
||||
|
||||
|
||||
#if 1 && defined(__arm__) && ((__LINUX_ARM_ARCH__ >= 6) || defined(__ARM_FEATURE_UNALIGNED))
|
||||
#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
|
||||
#define COPY4(dst, src) \
|
||||
* (u32 *) (void *) (dst) = * (const u32 *) (const void *) (src)
|
||||
#else
|
||||
#define COPY4(dst, src) \
|
||||
put_unaligned(get_unaligned((const u32 *)(src)), (u32 *)(dst))
|
||||
#endif
|
||||
#if defined(__x86_64__)
|
||||
#define COPY8(dst, src) \
|
||||
put_unaligned(get_unaligned((const u64 *)(src)), (u64 *)(dst))
|
||||
|
||||
Reference in New Issue
Block a user