qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors
Date: Thu, 26 Feb 2015 20:11:49 -0300
User-agent: Mutt/1.5.23 (2014-03-12)

On Fri, Feb 27, 2015 at 08:00:25AM +0900, Peter Maydell wrote:
> On 27 February 2015 at 07:51, Eduardo Habkost <address@hidden> wrote:
> > On Fri, Feb 27, 2015 at 07:44:29AM +0900, Peter Maydell wrote:
> >> When can it actually fail? Have you seen it do this in practice?
> >> (Note that this is only called from fork, so we know that
> >> cpu_model must be valid, or we would have failed on startup
> >> trying to create the CPU for the initial thread.)
> >
> > I have never seen it in practice, but in x86 it will fail if we try to
> > create more than 254 VCPUs.
> 
> That's bad -- it's not hard to imagine a program with 256
> threads. Why does x86 have this limitation and can we fix it?
> That seems like the better course than this patch.

I don't think *-user or any x86-specific code has any hard requirement
of having all VCPUs with different APIC IDs. But right now we set APIC
ID = cpu_index for every VCPU, so the current code has this limitation.

I would be glad to send a patch adding an assert() instead of an error
message, but I don't think I will be able to audit every single
cpu_init() function soon (to ensure they really never fail).

So, while we don't audit all cpu_init() functions, do you prefer to live
with an error message, or an assert() that may or may not be triggered
by existing code?

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]