From owner-freebsd-ia64 Sun Oct 15 13:46:16 2000 Delivered-To: freebsd-ia64@freebsd.org Received: from palrel1.hp.com (palrel1.hp.com [156.153.255.242]) by hub.freebsd.org (Postfix) with ESMTP id EE2E137B503 for ; Sun, 15 Oct 2000 13:46:10 -0700 (PDT) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel1.hp.com (Postfix) with ESMTP id 162B12D8; Sun, 15 Oct 2000 13:46:10 -0700 (PDT) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id NAA07829; Sun, 15 Oct 2000 13:46:09 -0700 (PDT) Message-ID: <39EA1791.A24345CE@cup.hp.com> Date: Sun, 15 Oct 2000 13:46:09 -0700 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: Doug Rabson , freebsd-ia64@freeBSD.org Subject: RAW dependency violation Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Doug, I fixed two RAW dependency violations. I didn't want to step on your toes, but I know that hazards are painful, so I'm particularly paying attention to that. BTW: it's a RAW dependency violation, because only branch instructions are allowed to use predicate registers defined in the same instruction group. Branches are special-cased to allow for low-latency compar-branch sequences. Just FYI :-) PS: I have the SKI documentation finished, I only need to put it on my homepage. This means I have to figure out how to get it through the firewall first :-/ -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 15 16:22: 1 2000 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) by hub.freebsd.org (Postfix) with ESMTP id 8904437B502 for ; Sun, 15 Oct 2000 16:21:58 -0700 (PDT) Received: from nlsys.demon.co.uk ([158.152.125.33] helo=herring.nlsystems.com) by anchor-post-30.mail.demon.net with esmtp (Exim 2.12 #1) id 13kx6K-000Mj1-0U; Mon, 16 Oct 2000 00:21:57 +0100 Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id AAA18288; Mon, 16 Oct 2000 00:23:58 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 16 Oct 2000 00:20:57 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: freebsd-ia64@freebsd.org Subject: Re: RAW dependency violation In-Reply-To: <39EA1791.A24345CE@cup.hp.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, 15 Oct 2000, Marcel Moolenaar wrote: > Doug, > > I fixed two RAW dependency violations. I didn't want to step on your > toes, but I know that hazards are painful, so I'm particularly paying > attention to that. > > BTW: it's a RAW dependency violation, because only branch instructions > are allowed to use predicate registers defined in the same instruction > group. Branches are special-cased to allow for low-latency compar-branch > sequences. Great, thanks. I have been relying on gas to detect the violations - I can't keep all the rules and exceptions in my head. Did you intend to attach a patch or have you already committed something? > > Just FYI :-) > > PS: I have the SKI documentation finished, I only need to put it on my > homepage. This means I have to figure out how to get it through the > firewall first :-/ Cool! I just discovered today that a bleeding edge -current machine will run SKI just fine which is very nice. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 15 16:46:34 2000 Delivered-To: freebsd-ia64@freebsd.org Received: from palrel3.hp.com (palrel3.hp.com [156.153.255.226]) by hub.freebsd.org (Postfix) with ESMTP id 44B2A37B502 for ; Sun, 15 Oct 2000 16:46:32 -0700 (PDT) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel3.hp.com (Postfix) with ESMTP id D51ACD4; Sun, 15 Oct 2000 16:46:27 -0700 (PDT) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id QAA12487; Sun, 15 Oct 2000 16:46:26 -0700 (PDT) Message-ID: <39EA41D1.28D5BDC1@cup.hp.com> Date: Sun, 15 Oct 2000 16:46:25 -0700 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: Doug Rabson Cc: freebsd-ia64@FreeBSD.ORG Subject: Re: RAW dependency violation References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Doug Rabson wrote: > > > I fixed two RAW dependency violations. I didn't want to step on your > > toes, but I know that hazards are painful, so I'm particularly paying > > attention to that. > > > > BTW: it's a RAW dependency violation, because only branch instructions > > are allowed to use predicate registers defined in the same instruction > > group. Branches are special-cased to allow for low-latency compar-branch > > sequences. > > Great, thanks. I have been relying on gas to detect the violations - I > can't keep all the rules and exceptions in my head. They are hairy; I know. Intel has developed DVLoc for that. Their assembler uses it to detect and prevent hazards. Unfortunately gas doesn't use it. Maybe I can arrange for a standalone hazard checker. In the early stages we might even want consider running such a tool as a separate compiler pass after the assembly pass. Ski isn't that picky, but the hardware is and I don't expect gcc/gas to be bug-free in that respect. It's very comforting to know when code doesn't have hazards - you know it's your fault when things aren't working as expected :-) > Did you intend to attach a patch or have you already committed something? Already committed. > > PS: I have the SKI documentation finished, I only need to put it on my > > homepage. This means I have to figure out how to get it through the > > firewall first :-/ > > Cool! I just discovered today that a bleeding edge -current machine will > run SKI just fine which is very nice. Excellent! It's time I start playing a well... -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Fri Oct 20 1:11:21 2000 Delivered-To: freebsd-ia64@freebsd.org Received: from server.baldwin.cx (server.geekhouse.net [64.81.6.52]) by hub.freebsd.org (Postfix) with ESMTP id 42B8E37B479; Fri, 20 Oct 2000 01:11:11 -0700 (PDT) Received: from laptop.baldwin.cx (termroom.bsdcon.org [206.55.247.2]) by server.baldwin.cx (8.9.3/8.9.3) with ESMTP id BAA05107; Fri, 20 Oct 2000 01:16:39 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200010200726.AAA40906@freefall.freebsd.org> Date: Fri, 20 Oct 2000 01:10:49 -0700 (PDT) From: John Baldwin To: John Baldwin , alpha@FreeBSD.org, ia64@FreeBSD.org Subject: RE: cvs commit: src/sys/sys mutex.h src/sys/kern kern_mutex.c sr Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On 20-Oct-00 John Baldwin wrote: > jhb 2000/10/20 00:26:37 PDT > > Modified files: > sys/kern kern_mutex.c > sys/i386/include mutex.h > sys/alpha/include mutex.h > sys/ia64/include mutex.h > sys/conf files.alpha files.i386 files.ia64 > files.pc98 options > Added files: > sys/sys mutex.h > Removed files: > sys/i386/i386 synch_machdep.c > sys/alpha/alpha synch_machdep.c > sys/ia64/ia64 synch_machdep.c > Log: > - Make the mutex code almost completely machine independent. This greatly > reducues the maintenance load for the mutex code. The only MD portions > of the mutex code are in machine/mutex.h now, which include the assembly > macros for handling mutexes as well as optionally overriding the mutex > micro-operations. For example, we use optimized micro-ops on the x86 > platform #ifndef I386_CPU. WARNING: I haven't directly tested this on the alpha, or on the ia64, although it has been running for the past week or so on x86. However, I did test to make sure that the atomic.h changes that make all this possible did compile fine on the alpha. Also, the code is MI, so in theory the architecture shouldn't matter. I'll be testing a remote alpha kernel build in the very near future, but this is just a heads up to watch your step on non-x86. :) -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message