From owner-svn-src-head@FreeBSD.ORG Wed Dec 22 17:02:18 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id E0B42106566C; Wed, 22 Dec 2010 17:02:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: John Baldwin Date: Wed, 22 Dec 2010 12:02:02 -0500 User-Agent: KMail/1.6.2 References: <201012220018.oBM0IgOg079632@svn.freebsd.org> <201012220803.12023.jhb@freebsd.org> In-Reply-To: <201012220803.12023.jhb@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201012221202.07774.jkim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r216634 - in head/sys/amd64: amd64 ia32 include linux32 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2010 17:02:18 -0000 On Wednesday 22 December 2010 08:03 am, John Baldwin wrote: > On Tuesday, December 21, 2010 7:18:42 pm Jung-uk Kim wrote: > > Author: jkim > > Date: Wed Dec 22 00:18:42 2010 > > New Revision: 216634 > > URL: http://svn.freebsd.org/changeset/base/216634 > > > > Log: > > Improve PCB flags handling and make it more robust. Add two > > new functions for manipulating pcb_flags. These inline functions > > are very similar to atomic_set_char(9) and atomic_clear_char(9) > > but without unnecessary LOCK prefix for SMP. Add comments about > > the rationale[1]. Use these functions wherever possible. > > Although there are some places where it is not strictly necessary > > (e.g., a PCB is copied to create a new PCB), it is done across > > the board for sake of consistency. Turn pcb_full_iret into a PCB > > flag as it is safe now. Move rarely used fields before pcb_flags > > and reduce size of pcb_flags to one byte. Fix some style(9) nits > > in pcb.h while I am in the neighborhood. > > > > Reviewed by: kib > > Submitted by: kib[1] > > MFC after: 2 months > > Is there really a need to have the flags field be a char instead of > an int or long? It seems to me that flags fields in general should > be an int unless there is a strong need otherwise (e.g. > hardware-defined flag). 'orl' will work just as well as 'orb'. Actually, there was little disagreement between kib and me and committed version was fifth reincarnation of original patch. I originally used 'u_int pcb_flags' but used byte byte opcodes for assembly to make it consistent with compiler generated code. kib disliked the inconsistencies and told me to reconsider. After several versions, I proposed we use char and move forward for now, then we increase the size if it ever grows more than 8 bits. So, we settled. I have no problem with int version if there is no measurable performance change. I'll test it soon. Jung-uk Kim