Dear RT Folks, I'm pleased to announce the 3.4.69-rt86 stable release. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git branch: v3.4-rt Head SHA1: 09408b6936f6c62a98e06fa46c737a42725b9c9f Or to build 3.4.69-rt86 directly, the following patches should be applied: http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.xz http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.4.69.xz http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4.69-rt86.patch.xz You can also build from 3.4.69-rt85 by applying the incremental patch: http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/incr/patch-3.4.69-rt85-rt86.patch.xz Enjoy, -- Steve Changes from v3.4.69-rt85: --- Mike Galbraith (1): hwlat-detector: Don't ignore threshold module parameter Sebastian Andrzej Siewior (1): drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos() Steven Rostedt (Red Hat) (1): Linux 3.4.69-rt86 Thomas Pfaff (1): genirq: Set the irq thread policy without checking CAP_SYS_NICE Yang Shi (1): mm/memcontrol: Don't call schedule_work_on in preemption disabled context ---- drivers/gpu/drm/drm_irq.c | 7 ------- drivers/misc/hwlat_detector.c | 2 +- kernel/irq/manage.c | 2 +- localversion-rt | 2 +- mm/memcontrol.c | 4 ++-- 5 files changed, 5 insertions(+), 12 deletions(-) --------------------------- diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index dc33ba5..07dfb99 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -619,11 +619,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc, * code gets preempted or delayed for some reason. */ for (i = 0; i < DRM_TIMESTAMP_MAXRETRIES; i++) { - /* Disable preemption to make it very likely to - * succeed in the first iteration even on PREEMPT_RT kernel. - */ - preempt_disable(); - /* Get system timestamp before query. */ do_gettimeofday(&stime); @@ -633,8 +628,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc, /* Get system timestamp after query. */ do_gettimeofday(&raw_time); - preempt_enable(); - /* Return as no-op if scanout query unsupported or failed. */ if (!(vbl_status & DRM_SCANOUTPOS_VALID)) { DRM_DEBUG("crtc %d : scanoutpos query failed [%d].\n", diff --git a/drivers/misc/hwlat_detector.c b/drivers/misc/hwlat_detector.c index 6f61d5f..d2676b8 100644 --- a/drivers/misc/hwlat_detector.c +++ b/drivers/misc/hwlat_detector.c @@ -413,7 +413,7 @@ static int init_stats(void) goto out; __reset_stats(); - data.threshold = DEFAULT_LAT_THRESHOLD; /* threshold us */ + data.threshold = threshold ?: DEFAULT_LAT_THRESHOLD; /* threshold us */ data.sample_window = DEFAULT_SAMPLE_WINDOW; /* window us */ data.sample_width = DEFAULT_SAMPLE_WIDTH; /* width us */ diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index a6bea19..30211a7 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1024,7 +1024,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) goto out_mput; } - sched_setscheduler(t, SCHED_FIFO, ¶m); + sched_setscheduler_nocheck(t, SCHED_FIFO, ¶m); /* * We keep the reference to the task struct even if diff --git a/localversion-rt b/localversion-rt index 168858f..0e811ca 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt85 +-rt86 diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 9c36442..107c0ba 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2082,7 +2082,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg, bool sync) /* Notify other cpus that system-wide "drain" is running */ get_online_cpus(); - curcpu = get_cpu(); + curcpu = get_cpu_light(); for_each_online_cpu(cpu) { struct memcg_stock_pcp *stock = &per_cpu(memcg_stock, cpu); struct mem_cgroup *memcg; @@ -2099,7 +2099,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg, bool sync) schedule_work_on(cpu, &stock->work); } } - put_cpu(); + put_cpu_light(); if (!sync) goto out; -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html