From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54781 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OKVWg-0006IJ-NT for qemu-devel@nongnu.org; Fri, 04 Jun 2010 07:57:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OKVWb-0001Cg-Ps for qemu-devel@nongnu.org; Fri, 04 Jun 2010 07:57:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60199) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OKVWb-0001CY-JH for qemu-devel@nongnu.org; Fri, 04 Jun 2010 07:57:21 -0400 Message-ID: <4C08EA1B.3040002@redhat.com> Date: Fri, 04 Jun 2010 13:57:15 +0200 From: Jes Sorensen MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 00/16] clean up vl.c code References: <1275583692-11678-1-git-send-email-Jes.Sorensen@redhat.com> <4C08B80F.4040401@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: qemu-devel@nongnu.org On 06/04/10 13:54, Markus Armbruster wrote: > Jes Sorensen writes: > >> On 06/04/10 10:21, Markus Armbruster wrote: >>> I like moving stuff out of vl.c in general. Your moves of entire >>> functions look like a win to me. I have doubts about spreading the >>> option switch over three files, though. >> >> The problem is right now there are too many OS specific options, but >> having the #ifdefs plastered all over to enable/disable them accordingly >> is just a nightmare and is prone to leave in inconsistent behavior for >> various OSes. See the set_proc_name() stuff for an example. > > I doubt spreading option code over separate files will help consistency. > > I suspect the true root of the problem is having (too many) OS-specific > options in the first place. What about parsing options the same > everywhere, calling out to OS-specific functions to do the actual work? > Let them fail with "can't do this on this OS". That is a possibility which I did consider, but it would end up in far more os specific functions for simple assignments etc. I modeled it the way I did similar to how we handle ioctl calls in the kernel. If there is strong feeling we should do it this way instead, I can change the code to do it this way instead. I am not married to the current approach, I just find it the lesser evil. Cheers, Jes