[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1217778135.4912.40.camel@earth>
Date: Sun, 03 Aug 2008 17:42:15 +0200
From: Dmitry Adamushko <dmitry.adamushko@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Tigran Aivazian <tigran@...azian.fsnet.co.uk>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Oruba <peter.oruba@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Max Krasnyansky <maxk@...lcomm.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
LKML <linux-kernel@...r.kernel.org>
Subject: [rfc-patch, bugfix] x86-microcode
Hi,
[ consider it a pre-release and RFC... I'm a bit in hurry now and just send what I have got by this moment.
Although, I expect it to be workable ]
this change is supposed to fix bug#11197 (note, its name "Oops in microcode sysfs registration" is misleading)
The problem description can be found here:
http://www.ussg.iu.edu/hypermail/linux/kernel/0807.3/3791.html
or
http://lkml.org/lkml/2008/7/24/260
perhaps it does look quite bulky for -rc, although it's mainly move-redesign-some-bits of the code and
I tried to preserve the original logic (even if it looked like a possible optimizations might had been applied)
as much as possible.
The basic idea is that we introduce another mechanism to run ucode-updates on a target cpu
and replace set_cpus_allowed_ptr() in (1) cpu-hotplug events and (2) module load.
[1/2] x86-microcode: generic updates
Basically, it introduces microcode_update_cpu() which can be run either from start_secondary()
(perhaps via a function pointer) or scheduled via keventd ([2/2]) and reworks the logic of cpu-hotplug events.
[2/2] x86-microcode: do updates via workqueue
More testing is necessary. I tested without ucode-package (so only generic machinery) and for
- load/unload module;
- cpu-hotplug (so it doesn't give an oops anymore)
hm, suspend/resume seems to be broken even without the 'microcode' module (will check the date of my previous kernel).
--Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists