On 2018-12-18 12:37:00 [+0100], Peter Zijlstra wrote: > On Tue, Dec 18, 2018 at 12:31:19PM +0100, Peter Zijlstra wrote: > > On Tue, Dec 18, 2018 at 12:16:37PM +0100, Sebastian Andrzej Siewior wrote: > > > On 2018-12-18 12:02:09 [+0100], Peter Zijlstra wrote: > > > > On Tue, Dec 18, 2018 at 06:30:33PM +0800, zhe...@windriver.com wrote: > > > > > Besides, in preempt-rt full mode, the freeing can happen in atomic > > > > > context and > > > > > thus cause the following BUG. > > > > > > > > Hurm, I though we fixed all those long ago.. > > > > > > > > And no, the patch is horrible; that's what we have things like > > > > x86_pmu::cpu_dead() for. > > > > > > ehm, you say we keep memory allocation +free on CPU up/down? > > > > Sure, why not?
It does not seem to be useful to allocate & free memory which you need anyway. So you could avoid the refcnt for instance. Also I doubt the memory will remain unallocated for a longer period of time (like you would remove the CPU for good and not boot it again a minute later). *Maybe* it is different in cloud environment where you attach vcpus depending on guest load at runtime but still… > I suspect the below is all we really need. Zhe, could you please have a look? Sebastian