From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QosJ2-0002hE-LQ for qemu-devel@nongnu.org; Thu, 04 Aug 2011 03:25:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QosJ1-0002X5-Cr for qemu-devel@nongnu.org; Thu, 04 Aug 2011 03:25:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:2839) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QosJ1-0002X1-2b for qemu-devel@nongnu.org; Thu, 04 Aug 2011 03:25:23 -0400 From: Markus Armbruster References: <1312376904-16115-1-git-send-email-armbru@redhat.com> <1312376904-16115-17-git-send-email-armbru@redhat.com> <4E3A38D1.8040802@suse.de> <4E3A405A.5050502@suse.de> Date: Thu, 04 Aug 2011 09:25:15 +0200 In-Reply-To: <4E3A405A.5050502@suse.de> (Hannes Reinecke's message of "Thu, 04 Aug 2011 08:46:50 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH v2 16/45] scsi-disk: Track tray locked state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hannes Reinecke Cc: kwolf@redhat.com, quintela@redhat.com, stefano.stabellini@eu.citrix.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, amit.shah@redhat.com, hch@lst.de Hannes Reinecke writes: > On 08/04/2011 08:39 AM, Markus Armbruster wrote: >> Hannes Reinecke writes: >> >>> On 08/03/2011 03:07 PM, Markus Armbruster wrote: >>>> We already track it in BlockDriverState. Just like tray open/close >>>> state, we should track it in the device models instead, because it's >>>> device state. >>>> >>>> Signed-off-by: Markus Armbruster >>>> --- >>>> hw/scsi-disk.c | 4 +++- >>>> 1 files changed, 3 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c >>>> index db72b86..8ca69f2 100644 >>>> --- a/hw/scsi-disk.c >>>> +++ b/hw/scsi-disk.c >>>> @@ -73,6 +73,7 @@ struct SCSIDiskState >>>> char *serial; >>>> SCSISense sense; >>>> bool tray_open; >>>> + bool tray_locked; >>>> }; >>>> >>> Hmm. Shouldn't we use a more generic 'flags' here and have bits for >>> the individual tray states? >>> Feels like a waste to have individual values here. >> >> On my system, struct SCSIDiskState is 248 bytes before my series (5 >> bytes of padding at the end), and 248 bytes after (3 bytes padding). We >> use one per disk. >> >> I dare say switching to flags won't make a noticable difference in >> memory use ;) >> >> The bool members are easy to read and hard to screw up. >> >> Flags can be nicer when you manipulate several of them together. > > Well, but this just proves my point. > Each 'bool' variable takes up one byte, of which only one bit is > used. Which qualifies as a waste of space. A few data bytes per SCSI disk are a drop in the ocean. Plus they're offset by the flags data word and the extra code bytes you need to extract the bits. > But if that's okay with everyone and the general consensus on how to > code flags in qemu, I'll shut up. It's a big series, and respinning it is work. Can we sort such things in followup patches?