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

RE: [Xen-devel] [PATCH] ioemu: unmap INTx interrupt on hot-remove



>  +char mapped_machine_irq[PT_NR_IRQS] = {0};
My understanding is:
This does ensure all the elements of the array are 0, no matter the array is 
global or local. Because in C99's  6.7.8 Initialization, we can find

19 The initialization shall occur in initializer list order, each initializer 
provided for a
particular subobject overriding any previously listed initializer for the same 
subobject; all
subobjects that are not initialized explicitly shall be initialized implicitly 
the same as
objects that have static storage duration.

And as we all know, the default initial values for objects with static storage 
duration is 0.

Considering the array mapped_machine_irq here, actually we don't need the "{0}" 
initializer as the array is global so its default initial values are just 0. I 
personally think adding a redundant "{0}" for a global array is somewhat 
misleading. :-)

Thanks,
-- Dexuan


-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Simon Horman
Sent: 2009年3月27日 5:26
To: Yuji Shimada
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH] ioemu: unmap INTx interrupt on hot-remove

On Thu, Mar 26, 2009 at 05:11:29PM +0900, Yuji Shimada wrote:
> On Thu, 26 Mar 2009 16:12:38 +1100
> Simon Horman <horms@xxxxxxxxxxxx> wrote:
> 
> > > +char mapped_machine_irq[PT_NR_IRQS] = {0};
> > 
> > This only initialises the first element of mapped_machine_irq[] to 0.
> 
> Do you have any issue relating to this code?
> I think remaining elements are initialized to 0.

My issue is that the code doesn't seem to be correct - though I have not
experienced any problems.

My understanding is that it may well be the case that the rest of the array
is initialised to zero, by virtue of being a page that hasn't been used
since being received from the kernel. But I don't believe that there are
any guarantees that it doesn't contain non-zero values.

If my assumptions are wrong and it is the case that the contents of the
array is guaranteed to be zeroed then the "{0}" seems to be misleading and
it could just be removed.

-- 
Simon Horman
  VA Linux Systems Japan K.K., Sydney, Australia Satellite Office
  H: www.vergenet.net/~horms/             W: www.valinux.co.jp/en


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.