Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/x86/x86



On Thu, May 10, 2012 at 12:35:53PM +0000, Christoph Egger wrote:
> Module Name:  src
> Committed By: cegger
> Date:         Thu May 10 12:35:53 UTC 2012
> 
> Modified Files:
>       src/sys/arch/x86/x86: cpu_ucode_amd.c
> 
> Log Message:
> xc_wait() does not wait for all cpus to finish
> their callback. That means the ucode buffer is released while still in use
> and this causes a crash.
> Quick fix: check if the ucode buffer has been freed and abort.
> You may need to run 'cpuctl ucode' twice to apply it to all cpus.
> 
> Per discussion with rmind@ use low priority xcalls and splhigh.

Why don't you just provide each CPU with a copy of the ucode and let it
free it once done? Even for 256 CPU with 16KB ucode, it would be only
4MB of temporary memory.

Joerg


Home | Main Index | Thread Index | Old Index