lkml.org 
[lkml]   [2008]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[rfc-patch, bugfix] x86-microcode
    From
    Date

    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





    \
     
     \ /
      Last update: 2008-08-03 17:45    [W:0.019 / U:32.104 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site