summaryrefslogtreecommitdiff
path: root/kernel/time/jiffies.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2013-02-14 21:36:59 (GMT)
committerScott Wood <scottwood@freescale.com>2015-02-13 22:20:07 (GMT)
commitfa5f1ad2efe7b9e1b36a37e99b7c99d59b4b92d2 (patch)
treed51150032fdfba3ff470032b2181f0cdd4e74909 /kernel/time/jiffies.c
parent16b20a879d296a79cda02ab8742c40eb992a0710 (diff)
downloadlinux-fsl-qoriq-fa5f1ad2efe7b9e1b36a37e99b7c99d59b4b92d2.tar.xz
timekeeping-split-jiffies-lock.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/jiffies.c')
-rw-r--r--kernel/time/jiffies.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
index a6a5bf5..23d7203 100644
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -73,7 +73,8 @@ static struct clocksource clocksource_jiffies = {
.shift = JIFFIES_SHIFT,
};
-__cacheline_aligned_in_smp DEFINE_SEQLOCK(jiffies_lock);
+__cacheline_aligned_in_smp DEFINE_RAW_SPINLOCK(jiffies_lock);
+__cacheline_aligned_in_smp seqcount_t jiffies_seq;
#if (BITS_PER_LONG < 64)
u64 get_jiffies_64(void)
@@ -82,9 +83,9 @@ u64 get_jiffies_64(void)
u64 ret;
do {
- seq = read_seqbegin(&jiffies_lock);
+ seq = read_seqcount_begin(&jiffies_seq);
ret = jiffies_64;
- } while (read_seqretry(&jiffies_lock, seq));
+ } while (read_seqcount_retry(&jiffies_seq, seq));
return ret;
}
EXPORT_SYMBOL(get_jiffies_64);