From owner-svn-src-user@FreeBSD.ORG  Mon Dec  5 16:06:13 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 48B4C1065670;
	Mon,  5 Dec 2011 16:06:13 +0000 (UTC)
	(envelope-from andreast@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 380588FC13;
	Mon,  5 Dec 2011 16:06:13 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB5G6DGe044157;
	Mon, 5 Dec 2011 16:06:13 GMT (envelope-from andreast@svn.freebsd.org)
Received: (from andreast@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB5G6D4W044155;
	Mon, 5 Dec 2011 16:06:13 GMT (envelope-from andreast@svn.freebsd.org)
Message-Id: <201112051606.pB5G6D4W044155@svn.freebsd.org>
From: Andreas Tobler <andreast@FreeBSD.org>
Date: Mon, 5 Dec 2011 16:06:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228282 - user/attilio/vmcontention/sys/vm
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Dec 2011 16:06:13 -0000

Author: andreast
Date: Mon Dec  5 16:06:12 2011
New Revision: 228282
URL: http://svn.freebsd.org/changeset/base/228282

Log:
  Fix compilation issue on 32-bit targets.
  
  Reviewed by:	attilio

Modified:
  user/attilio/vmcontention/sys/vm/vm_radix.c

Modified: user/attilio/vmcontention/sys/vm/vm_radix.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.c	Mon Dec  5 15:33:13 2011	(r228281)
+++ user/attilio/vmcontention/sys/vm/vm_radix.c	Mon Dec  5 16:06:12 2011	(r228282)
@@ -268,7 +268,7 @@ vm_radix_insert(struct vm_radix *rtree, 
 	int slot;
 
 	CTR3(KTR_VM,
-	    "insert: tree %p, index %p, val %p", rtree, (void *)index, val);
+	    "insert: tree %p, index %ju, val %p", rtree, (uintmax_t)index, val);
 	if (index == -1)
 		panic("vm_radix_insert: -1 is not a valid index.\n");
 	level = vm_radix_height(rtree, &root);
@@ -290,8 +290,8 @@ vm_radix_insert(struct vm_radix *rtree, 
 			rnode = vm_radix_node_get();
 			if (rnode == NULL) {
 				CTR4(KTR_VM,
-			"insert: tree %p, root %p, index: %d, level: %d ENOMEM",
-				    rtree, root, index, level);
+		"insert: tree %p, root %p, index: %ju, level: %d ENOMEM",
+				    rtree, root, (uintmax_t)index, level);
 				return (ENOMEM);
 			}
 			/*
@@ -317,8 +317,9 @@ vm_radix_insert(struct vm_radix *rtree, 
 			rnode->rn_child[slot] = vm_radix_node_get();
     			if (rnode->rn_child[slot] == NULL) {
 				CTR5(KTR_VM,
-	"insert: tree %p, index %jd, level %d, slot %d, rnode %p ENOMEM",
-		    		    rtree, index, level, slot, rnode);
+	"insert: tree %p, index %ju, level %d, slot %d, rnode %p ENOMEM",
+				     rtree, (uintmax_t)index, level, slot,
+				     rnode);
 				CTR4(KTR_VM,
 			"insert: tree %p, rnode %p, child %p, count %u ENOMEM",
 		    		    rtree, rnode, rnode->rn_child[slot],
@@ -328,8 +329,8 @@ vm_radix_insert(struct vm_radix *rtree, 
 			rnode->rn_count++;
 	    	}
 		CTR5(KTR_VM,
-		    "insert: tree %p, index %p, level %d, slot %d, rnode %p",
-		    rtree, (void *)index, level, slot, rnode);
+		    "insert: tree %p, index %ju, level %d, slot %d, rnode %p",
+		    rtree, (uintmax_t)index, level, slot, rnode);
 		CTR4(KTR_VM,
 		    "insert: tree %p, rnode %p, child %p, count %u",
 		    rtree, rnode, rnode->rn_child[slot], rnode->rn_count);
@@ -345,8 +346,8 @@ vm_radix_insert(struct vm_radix *rtree, 
 	rnode->rn_child[slot] = val;
 	atomic_add_int((volatile int *)&rnode->rn_count, 1);
 	CTR6(KTR_VM,
-	    "insert: tree %p, index %p, level %d, slot %d, rnode %p, count %u",
-	    rtree, (void *)index, level, slot, rnode, rnode->rn_count);
+	    "insert: tree %p, index %ju, level %d, slot %d, rnode %p, count %u",
+	    rtree, (uintmax_t)index, level, slot, rnode, rnode->rn_count);
 
 	return 0;
 }
@@ -369,15 +370,16 @@ vm_radix_lookup(struct vm_radix *rtree, 
 	while (rnode) {
 		slot = vm_radix_slot(index, level);
 		CTR6(KTR_VM,
-	"lookup: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
-		    rtree, (void *)index, level, slot, rnode,
+	"lookup: tree %p, index %ju, level %d, slot %d, rnode %p, child %p",
+		    rtree, (uintmax_t)index, level, slot, rnode,
 		    rnode->rn_child[slot]);
 		if (level == 0)
 			return vm_radix_match(rnode->rn_child[slot], color);
 		rnode = rnode->rn_child[slot];
 		level--;
 	}
-	CTR2(KTR_VM, "lookup: tree %p, index %p failed", rtree, (void *)index);
+	CTR2(KTR_VM, "lookup: tree %p, index %ju failed", rtree,
+	     (uintmax_t)index);
 
 	return NULL;
 }
@@ -397,8 +399,8 @@ vm_radix_color(struct vm_radix *rtree, v
 	while (rnode) {
 		slot = vm_radix_slot(index, level);
 		CTR6(KTR_VM,
-	"color: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
-		    rtree, (void *)index, level, slot, rnode,
+	"color: tree %p, index %ju, level %d, slot %d, rnode %p, child %p",
+		    rtree, (uintmax_t)index, level, slot, rnode,
 		    rnode->rn_child[slot]);
 		if (level == 0)
 			break;
@@ -441,8 +443,8 @@ restart:
 	for (level--; level; level--) {
 		slot = vm_radix_slot(start, level);
 		CTR6(KTR_VM,
-	"leaf: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
-		    rtree, (void *)start, level, slot, rnode,
+	"leaf: tree %p, index %ju, level %d, slot %d, rnode %p, child %p",
+		    rtree, (uintmax_t)start, level, slot, rnode,
 		    (rnode != NULL) ? rnode->rn_child[slot] : NULL);
 		if (rnode->rn_child[slot] != NULL) {
 			rnode = rnode->rn_child[slot];
@@ -459,8 +461,8 @@ restart:
 		start += inc;
 		slot++;
 		CTR5(KTR_VM,
-		    "leaf: start %p end %p inc %d mask 0x%lX slot %d",
-		    (void *)start, (void *)end, inc,
+		    "leaf: start %ju end %ju inc %d mask 0x%lX slot %d",
+		    (uintmax_t)start, (uintmax_t)end, inc,
 		    ~VM_RADIX_MAX(level), slot);
 		for (; slot < VM_RADIX_COUNT; slot++, start += inc) {
 			if (end != 0 && start >= end) {
@@ -497,8 +499,8 @@ vm_radix_lookupn(struct vm_radix *rtree,
 	int slot;
 	int outidx;
 
-	CTR3(KTR_VM, "lookupn: tree %p, start %p, end %p",
-	    rtree, (void *)start, (void *)end);
+	CTR3(KTR_VM, "lookupn: tree %p, start %ju, end %ju",
+	    rtree, (uintmax_t)start, (uintmax_t)end);
 	if (rtree->rt_root == 0)
 		return (0);
 	outidx = 0;
@@ -511,8 +513,8 @@ vm_radix_lookupn(struct vm_radix *rtree,
 			if (val == NULL)
 				continue;
 			CTR4(KTR_VM,
-			    "lookupn: tree %p index %p slot %d found child %p",
-			    rtree, (void *)start, slot, val);
+			    "lookupn: tree %p index %ju slot %d found child %p",
+			    rtree, (uintmax_t)start, slot, val);
 			out[outidx] = val;
 			if (++outidx == cnt)
 				goto out;
@@ -565,7 +567,7 @@ vm_radix_lookup_le(struct vm_radix *rtre
 	int level;
 
 	CTR2(KTR_VM,
-	    "lookup_le: tree %p, index %p", rtree, (void *)index);
+	    "lookup_le: tree %p, index %ju", rtree, (uintmax_t)index);
 restart:
 	level = vm_radix_height(rtree, &rnode);
 	if (rnode == NULL)
@@ -581,8 +583,8 @@ restart:
 	while (rnode) {
 		slot = vm_radix_slot(index, level);
 		CTR6(KTR_VM,
-	"lookup_le: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
-		    rtree, (void *)index, level, slot, rnode,
+	"lookup_le: tree %p, index %ju, level %d, slot %d, rnode %p, child %p",
+		    rtree, (uintmax_t)index, level, slot, rnode,
 		    rnode->rn_child[slot]);
 		if (level == 0)
 			break;
@@ -602,8 +604,8 @@ restart:
 			index -= inc;
 			slot--;
 			CTR4(KTR_VM,
-			    "lookup_le: start %p inc %ld mask 0x%lX slot %d",
-			    (void *)index, inc, VM_RADIX_MAX(level), slot);
+			    "lookup_le: start %ju inc %ld mask 0x%lX slot %d",
+			    (uintmax_t)index, inc, VM_RADIX_MAX(level), slot);
 			for (; slot >= 0; slot--, index -= inc) {
 				child = rnode->rn_child[slot];
 				if (child)
@@ -641,8 +643,8 @@ vm_radix_remove(struct vm_radix *rtree, 
 
 	level = vm_radix_height(rtree, &root);
 	KASSERT(index <= VM_RADIX_MAX(level),
-	    ("vm_radix_remove: %p index %jd out of range %jd.",
-	    rtree, index, VM_RADIX_MAX(level)));
+	    ("vm_radix_remove: %p index %ju out of range %jd.",
+	     rtree, (uintmax_t)index, VM_RADIX_MAX(level)));
 	rnode = root;
 	val = NULL;
 	level--;
@@ -653,24 +655,26 @@ vm_radix_remove(struct vm_radix *rtree, 
 		stack[level] = rnode;
 		slot = vm_radix_slot(index, level);
 		CTR5(KTR_VM,
-		    "remove: tree %p, index %p, level %d, slot %d, rnode %p",
-		    rtree, (void *)index, level, slot, rnode);
+		    "remove: tree %p, index %ju, level %d, slot %d, rnode %p",
+		    rtree, (uintmax_t)index, level, slot, rnode);
 		CTR4(KTR_VM, "remove: tree %p, rnode %p, child %p, count %u",
 		    rtree, rnode, rnode->rn_child[slot], rnode->rn_count);
 		rnode = rnode->rn_child[slot];
 		level--;
 	}
 	KASSERT(rnode != NULL,
-	    ("vm_radix_remove: index %jd not present in the tree.\n", index));
+		("vm_radix_remove: index %ju not present in the tree.\n",
+		 (uintmax_t)index));
 	slot = vm_radix_slot(index, 0);
 	val = vm_radix_match(rnode->rn_child[slot], color);
 	KASSERT(val != NULL,
-	    ("vm_radix_remove: index %jd not present in the tree.\n", index));
+		("vm_radix_remove: index %ju not present in the tree.\n",
+		 (uintmax_t)index));
 
 	for (;;) {
 		CTR5(KTR_VM,
-	"remove: resetting tree %p, index %p, level %d, slot %d, rnode %p",
-		    rtree, (void *)index, level, slot, rnode);
+	"remove: resetting tree %p, index %ju, level %d, slot %d, rnode %p",
+		    rtree, (uintmax_t)index, level, slot, rnode);
 		CTR4(KTR_VM,
 		    "remove: resetting tree %p, rnode %p, child %p, count %u",
 		    rtree, rnode,

From owner-svn-src-user@FreeBSD.ORG  Tue Dec  6 19:04:46 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 15A5D106566C;
	Tue,  6 Dec 2011 19:04:46 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E092F8FC0A;
	Tue,  6 Dec 2011 19:04:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB6J4j8K004326;
	Tue, 6 Dec 2011 19:04:45 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB6J4jTO004323;
	Tue, 6 Dec 2011 19:04:45 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201112061904.pB6J4jTO004323@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Tue, 6 Dec 2011 19:04:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228312 - user/attilio/vmcontention/sys/vm
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Dec 2011 19:04:46 -0000

Author: attilio
Date: Tue Dec  6 19:04:45 2011
New Revision: 228312
URL: http://svn.freebsd.org/changeset/base/228312

Log:
  - Make rn_count 32-bits as it will naturally pad for 32-bit arches
  - Avoid to use atomic to manipulate it at level0 because it seems
    unneeded and introduces a bug on big-endian architectures where only
    the top half (2 bits) of the double-words are written (as sparc64,
    for example, doesn't support atomics at 16-bits) heading to a wrong
    handling of rn_count.
  
  Reported by:	flo, andreast
  Found by:	marius
  No answer by:	jeff

Modified:
  user/attilio/vmcontention/sys/vm/vm_radix.c
  user/attilio/vmcontention/sys/vm/vm_radix.h

Modified: user/attilio/vmcontention/sys/vm/vm_radix.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.c	Tue Dec  6 18:01:09 2011	(r228311)
+++ user/attilio/vmcontention/sys/vm/vm_radix.c	Tue Dec  6 19:04:45 2011	(r228312)
@@ -344,7 +344,7 @@ vm_radix_insert(struct vm_radix *rtree, 
 	    rnode->rn_child[slot], (u_long)index));
 	val = (void *)((uintptr_t)val | VM_RADIX_BLACK);
 	rnode->rn_child[slot] = val;
-	atomic_add_int((volatile int *)&rnode->rn_count, 1);
+	rnode->rn_count++;
 	CTR6(KTR_VM,
 	    "insert: tree %p, index %ju, level %d, slot %d, rnode %p, count %u",
 	    rtree, (uintmax_t)index, level, slot, rnode, rnode->rn_count);
@@ -681,14 +681,7 @@ vm_radix_remove(struct vm_radix *rtree, 
 		    (rnode != NULL) ? rnode->rn_child[slot] : NULL,
 		    (rnode != NULL) ? rnode->rn_count : 0);
 		rnode->rn_child[slot] = NULL;
-		/*
-		 * Use atomics for the last level since red and black
-		 * will both adjust it.
-		 */
-		if (level == 0)
-			atomic_add_int((volatile int *)&rnode->rn_count, -1);
-		else
-			rnode->rn_count--;
+		rnode->rn_count--;
 		/*
 		 * Only allow black removes to prune the tree.
 		 */

Modified: user/attilio/vmcontention/sys/vm/vm_radix.h
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.h	Tue Dec  6 18:01:09 2011	(r228311)
+++ user/attilio/vmcontention/sys/vm/vm_radix.h	Tue Dec  6 19:04:45 2011	(r228312)
@@ -61,8 +61,8 @@ struct vm_radix {
 CTASSERT(VM_RADIX_HEIGHT >= VM_RADIX_LIMIT);
 
 struct vm_radix_node {
-	void	*rn_child[VM_RADIX_COUNT];	/* Child nodes. */
-    	volatile uint16_t rn_count;		/* Valid children. */
+	void		*rn_child[VM_RADIX_COUNT];	/* Child nodes. */
+    	uint32_t	 rn_count;			/* Valid children. */
 };
 
 void	vm_radix_init(void);

From owner-svn-src-user@FreeBSD.ORG  Tue Dec  6 22:57:49 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3DD66106566C;
	Tue,  6 Dec 2011 22:57:49 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 143068FC13;
	Tue,  6 Dec 2011 22:57:49 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB6MvmBP011697;
	Tue, 6 Dec 2011 22:57:48 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB6MvmT1011694;
	Tue, 6 Dec 2011 22:57:48 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201112062257.pB6MvmT1011694@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Tue, 6 Dec 2011 22:57:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228314 - user/attilio/vmcontention/sys/vm
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Dec 2011 22:57:49 -0000

Author: attilio
Date: Tue Dec  6 22:57:48 2011
New Revision: 228314
URL: http://svn.freebsd.org/changeset/base/228314

Log:
  Use atomics for rn_count on leaf node because RED operations happen
  without the VM_OBJECT_LOCK held, thus can be concurrent with BLACK ones.
  However, also use a write memory barrier in order to not reorder the
  operation of decrementing rn_count in respect fetching the pointer.
  
  Discussed with:	jeff

Modified:
  user/attilio/vmcontention/sys/vm/vm_radix.c
  user/attilio/vmcontention/sys/vm/vm_radix.h

Modified: user/attilio/vmcontention/sys/vm/vm_radix.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.c	Tue Dec  6 20:55:20 2011	(r228313)
+++ user/attilio/vmcontention/sys/vm/vm_radix.c	Tue Dec  6 22:57:48 2011	(r228314)
@@ -344,7 +344,7 @@ vm_radix_insert(struct vm_radix *rtree, 
 	    rnode->rn_child[slot], (u_long)index));
 	val = (void *)((uintptr_t)val | VM_RADIX_BLACK);
 	rnode->rn_child[slot] = val;
-	rnode->rn_count++;
+	atomic_add_32(&rnode->rn_count, 1);
 	CTR6(KTR_VM,
 	    "insert: tree %p, index %ju, level %d, slot %d, rnode %p, count %u",
 	    rtree, (uintmax_t)index, level, slot, rnode, rnode->rn_count);
@@ -681,7 +681,18 @@ vm_radix_remove(struct vm_radix *rtree, 
 		    (rnode != NULL) ? rnode->rn_child[slot] : NULL,
 		    (rnode != NULL) ? rnode->rn_count : 0);
 		rnode->rn_child[slot] = NULL;
-		rnode->rn_count--;
+		/*
+		 * Use atomics for the last level since red and black
+		 * will both adjust it.
+		 * Use a write memory barrier here in order to avoid
+		 * rn_count reaching 0 before to fetch the actual pointer.
+		 * Concurrent black removal, infact, may want to reclaim
+		 * the radix node itself before to read it.
+		 */
+		if (level == 0)
+			atomic_add_rel_32(&rnode->rn_count, -1);
+		else
+			rnode->rn_count--;
 		/*
 		 * Only allow black removes to prune the tree.
 		 */

Modified: user/attilio/vmcontention/sys/vm/vm_radix.h
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.h	Tue Dec  6 20:55:20 2011	(r228313)
+++ user/attilio/vmcontention/sys/vm/vm_radix.h	Tue Dec  6 22:57:48 2011	(r228314)
@@ -62,7 +62,7 @@ CTASSERT(VM_RADIX_HEIGHT >= VM_RADIX_LIM
 
 struct vm_radix_node {
 	void		*rn_child[VM_RADIX_COUNT];	/* Child nodes. */
-    	uint32_t	 rn_count;			/* Valid children. */
+    	volatile uint32_t rn_count;			/* Valid children. */
 };
 
 void	vm_radix_init(void);

From owner-svn-src-user@FreeBSD.ORG  Wed Dec  7 00:07:57 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A2CA31065672;
	Wed,  7 Dec 2011 00:07:57 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7932E8FC12;
	Wed,  7 Dec 2011 00:07:57 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB707vQp013859;
	Wed, 7 Dec 2011 00:07:57 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB707v11013856;
	Wed, 7 Dec 2011 00:07:57 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201112070007.pB707v11013856@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Wed, 7 Dec 2011 00:07:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228315 - user/attilio/vmcontention/sys/fs/tmpfs
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Dec 2011 00:07:57 -0000

Author: attilio
Date: Wed Dec  7 00:07:57 2011
New Revision: 228315
URL: http://svn.freebsd.org/changeset/base/228315

Log:
  Fix tmpfs to build with vmcontention branch.

Modified:
  user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c
  user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c

Modified: user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c
==============================================================================
--- user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c	Tue Dec  6 22:57:48 2011	(r228314)
+++ user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c	Wed Dec  7 00:07:57 2011	(r228315)
@@ -39,6 +39,7 @@
 #include <sys/param.h>
 #include <sys/filedesc.h>
 #include <sys/proc.h>
+#include <sys/systm.h>
 #include <sys/vnode.h>
 
 #include <vm/vm.h>

Modified: user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c	Tue Dec  6 22:57:48 2011	(r228314)
+++ user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c	Wed Dec  7 00:07:57 2011	(r228315)
@@ -505,11 +505,14 @@ tmpfs_mappedread(vm_object_t vobj, vm_ob
 	offset = addr & PAGE_MASK;
 	tlen = MIN(PAGE_SIZE - offset, len);
 
-	if ((vobj == NULL) ||
-	    (vobj->resident_page_count == 0 && vobj->cache == NULL))
+	if (vobj == NULL)
 		goto nocache;
 
 	VM_OBJECT_LOCK(vobj);
+	if (vobj->cached_page_count == 0) {
+		VM_OBJECT_UNLOCK(vobj);
+		goto nocache;
+	}
 lookupvpg:
 	if (((m = vm_page_lookup(vobj, idx)) != NULL) &&
 	    vm_page_is_valid(m, offset, tlen)) {
@@ -633,13 +636,17 @@ tmpfs_mappedwrite(vm_object_t vobj, vm_o
 	offset = addr & PAGE_MASK;
 	tlen = MIN(PAGE_SIZE - offset, len);
 
-	if ((vobj == NULL) ||
-	    (vobj->resident_page_count == 0 && vobj->cache == NULL)) {
+	if (vobj == NULL) {
 		vpg = NULL;
 		goto nocache;
 	}
 
 	VM_OBJECT_LOCK(vobj);
+	if (vobj->cached_page_count == 0) {
+		VM_OBJECT_UNLOCK(vobj);
+		vpg = NULL;
+		goto nocache;
+	}
 lookupvpg:
 	if (((vpg = vm_page_lookup(vobj, idx)) != NULL) &&
 	    vm_page_is_valid(vpg, offset, tlen)) {
@@ -657,8 +664,6 @@ lookupvpg:
 		VM_OBJECT_UNLOCK(vobj);
 		error = uiomove_fromphys(&vpg, offset, tlen, uio);
 	} else {
-		if (__predict_false(vobj->cache != NULL))
-			vm_page_cache_free(vobj, idx, idx + 1);
 		VM_OBJECT_UNLOCK(vobj);
 		vpg = NULL;
 	}

From owner-svn-src-user@FreeBSD.ORG  Wed Dec  7 00:22:34 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7200F106564A;
	Wed,  7 Dec 2011 00:22:34 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 60B8C8FC12;
	Wed,  7 Dec 2011 00:22:34 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB70MYar014415;
	Wed, 7 Dec 2011 00:22:34 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB70MYiY014412;
	Wed, 7 Dec 2011 00:22:34 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201112070022.pB70MYiY014412@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Wed, 7 Dec 2011 00:22:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228316 - in user/attilio/vmcontention/sys/cddl:
	compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Dec 2011 00:22:34 -0000

Author: attilio
Date: Wed Dec  7 00:22:34 2011
New Revision: 228316
URL: http://svn.freebsd.org/changeset/base/228316

Log:
  Fix ZFS for compiling on vmcontention branch.

Modified:
  user/attilio/vmcontention/sys/cddl/compat/opensolaris/sys/vnode.h
  user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c

Modified: user/attilio/vmcontention/sys/cddl/compat/opensolaris/sys/vnode.h
==============================================================================
--- user/attilio/vmcontention/sys/cddl/compat/opensolaris/sys/vnode.h	Wed Dec  7 00:07:57 2011	(r228315)
+++ user/attilio/vmcontention/sys/cddl/compat/opensolaris/sys/vnode.h	Wed Dec  7 00:22:34 2011	(r228316)
@@ -75,8 +75,7 @@ vn_is_readonly(vnode_t *vp)
 #define	vn_mountedvfs(vp)	((vp)->v_mountedhere)
 #define	vn_has_cached_data(vp)	\
 	((vp)->v_object != NULL && \
-	 ((vp)->v_object->resident_page_count > 0 || \
-	  (vp)->v_object->cache != NULL))
+	 (vp)->v_object->cached_page_count > 0)
 #define	vn_exists(vp)		do { } while (0)
 #define	vn_invalid(vp)		do { } while (0)
 #define	vn_renamepath(tdvp, svp, tnm, lentnm)	do { } while (0)

Modified: user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Wed Dec  7 00:07:57 2011	(r228315)
+++ user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Wed Dec  7 00:22:34 2011	(r228316)
@@ -337,13 +337,8 @@ page_lookup(vnode_t *vp, int64_t start, 
 			}
 			vm_page_busy(pp);
 			vm_page_undirty(pp);
-		} else {
-			if (__predict_false(obj->cache != NULL)) {
-				vm_page_cache_free(obj, OFF_TO_IDX(start),
-				    OFF_TO_IDX(start) + 1);
-			}
+		} else
 			pp = NULL;
-		}
 		break;
 	}
 	return (pp);

From owner-svn-src-user@FreeBSD.ORG  Wed Dec  7 21:55:11 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9DEF01065670;
	Wed,  7 Dec 2011 21:55:11 +0000 (UTC)
	(envelope-from sbruno@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 820558FC1A;
	Wed,  7 Dec 2011 21:55:11 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB7LtBd1057490;
	Wed, 7 Dec 2011 21:55:11 GMT (envelope-from sbruno@svn.freebsd.org)
Received: (from sbruno@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB7LtBZg057487;
	Wed, 7 Dec 2011 21:55:11 GMT (envelope-from sbruno@svn.freebsd.org)
Message-Id: <201112072155.pB7LtBZg057487@svn.freebsd.org>
From: Sean Bruno <sbruno@FreeBSD.org>
Date: Wed, 7 Dec 2011 21:55:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228334 - user/sbruno/1394dev/firewire
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Dec 2011 21:55:11 -0000

Author: sbruno
Date: Wed Dec  7 21:55:11 2011
New Revision: 228334
URL: http://svn.freebsd.org/changeset/base/228334

Log:
  Add JMicron JMB381 to the supported list, even though its the most broken.
  
  I'd just like to know if that's the card I'm dealing with.

Modified:
  user/sbruno/1394dev/firewire/fwohci_pci.c
  user/sbruno/1394dev/firewire/fwohcireg.h

Modified: user/sbruno/1394dev/firewire/fwohci_pci.c
==============================================================================
--- user/sbruno/1394dev/firewire/fwohci_pci.c	Wed Dec  7 21:54:44 2011	(r228333)
+++ user/sbruno/1394dev/firewire/fwohci_pci.c	Wed Dec  7 21:55:11 2011	(r228334)
@@ -213,6 +213,10 @@ fwohci_pci_probe( device_t dev )
 		device_set_desc(dev, "Sun PCIO-2");
 		return BUS_PROBE_DEFAULT;
 	}
+	if (id == (FW_VENDORID_JMICRON | FW_DEVICE_JMB381)) {
+		device_set_desc(dev, "JMicron JMB381 1394a");
+		return BUS_PROBE_DEFAULT;
+	}
 #endif
 	if (pci_get_class(dev) == PCIC_SERIALBUS
 			&& pci_get_subclass(dev) == PCIS_SERIALBUS_FW

Modified: user/sbruno/1394dev/firewire/fwohcireg.h
==============================================================================
--- user/sbruno/1394dev/firewire/fwohcireg.h	Wed Dec  7 21:54:44 2011	(r228333)
+++ user/sbruno/1394dev/firewire/fwohcireg.h	Wed Dec  7 21:55:11 2011	(r228334)
@@ -48,6 +48,7 @@
 #define		FW_VENDORID_INTEL	0x8086
 #define		FW_VENDORID_ADAPTEC	0x9004
 #define		FW_VENDORID_SUN		0x108e
+#define		FW_VENDORID_JMICRON	0x197b
 
 #define		FW_DEVICE_CS4210	(0x000f << 16)
 #define		FW_DEVICE_UPD861	(0x0063 << 16)
@@ -78,6 +79,7 @@
 #define		FW_DEVICE_7007		(0x7007 << 16)
 #define		FW_DEVICE_82372FB	(0x7605 << 16)
 #define		FW_DEVICE_PCIO2FW	(0x1102 << 16)
+#define		FW_DEVICE_JMB381	(0x2380 << 16)
 
 #define PCI_INTERFACE_OHCI	0x10
 

From owner-svn-src-user@FreeBSD.ORG  Fri Dec  9 20:36:11 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1799E106564A;
	Fri,  9 Dec 2011 20:36:11 +0000 (UTC)
	(envelope-from jimharris@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E363E8FC14;
	Fri,  9 Dec 2011 20:36:10 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB9KaArV048786;
	Fri, 9 Dec 2011 20:36:10 GMT
	(envelope-from jimharris@svn.freebsd.org)
Received: (from jimharris@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB9KaAOq048785;
	Fri, 9 Dec 2011 20:36:10 GMT
	(envelope-from jimharris@svn.freebsd.org)
Message-Id: <201112092036.pB9KaAOq048785@svn.freebsd.org>
From: Jim Harris <jimharris@FreeBSD.org>
Date: Fri, 9 Dec 2011 20:36:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228374 - user/jimharris
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Dec 2011 20:36:11 -0000

Author: jimharris
Date: Fri Dec  9 20:36:10 2011
New Revision: 228374
URL: http://svn.freebsd.org/changeset/base/228374

Log:
  Create jimharris branch for staging new development bits.

Added:
  user/jimharris/

From owner-svn-src-user@FreeBSD.ORG  Fri Dec  9 20:45:10 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 61E6E1065672;
	Fri,  9 Dec 2011 20:45:10 +0000 (UTC)
	(envelope-from jimharris@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 390308FC1B;
	Fri,  9 Dec 2011 20:45:10 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB9KjANe049226;
	Fri, 9 Dec 2011 20:45:10 GMT
	(envelope-from jimharris@svn.freebsd.org)
Received: (from jimharris@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB9KjARA049225;
	Fri, 9 Dec 2011 20:45:10 GMT
	(envelope-from jimharris@svn.freebsd.org)
Message-Id: <201112092045.pB9KjARA049225@svn.freebsd.org>
From: Jim Harris <jimharris@FreeBSD.org>
Date: Fri, 9 Dec 2011 20:45:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228377 - user/jimharris/isci
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Dec 2011 20:45:10 -0000

Author: jimharris
Date: Fri Dec  9 20:45:09 2011
New Revision: 228377
URL: http://svn.freebsd.org/changeset/base/228377

Log:
  Creating isci project branch for initial checkin of isci driver.
  
  Approved by: scottl
  Obtained from: Intel

Added:
     - copied from r228376, head/
Directory Properties:
  user/jimharris/isci/   (props changed)

From owner-svn-src-user@FreeBSD.ORG  Fri Dec  9 21:06:21 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 68F10106564A;
	Fri,  9 Dec 2011 21:06:21 +0000 (UTC)
	(envelope-from jimharris@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4E5158FC0A;
	Fri,  9 Dec 2011 21:06:21 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB9L6LeP049921;
	Fri, 9 Dec 2011 21:06:21 GMT
	(envelope-from jimharris@svn.freebsd.org)
Received: (from jimharris@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB9L6LVZ049920;
	Fri, 9 Dec 2011 21:06:21 GMT
	(envelope-from jimharris@svn.freebsd.org)
Message-Id: <201112092106.pB9L6LVZ049920@svn.freebsd.org>
From: Jim Harris <jimharris@FreeBSD.org>
Date: Fri, 9 Dec 2011 21:06:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r228378 - user/jimharris/isci/sys/modules/isci
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Dec 2011 21:06:21 -0000

Author: jimharris
Date: Fri Dec  9 21:06:20 2011
New Revision: 228378
URL: http://svn.freebsd.org/changeset/base/228378

Log:
  Add initial version of Makefile for isci driver.
  
  Approved by: scottl
  Obtained from:	Intel

Added:
  user/jimharris/isci/sys/modules/isci/
  user/jimharris/isci/sys/modules/isci/Makefile   (contents, props changed)

Added: user/jimharris/isci/sys/modules/isci/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/jimharris/isci/sys/modules/isci/Makefile	Fri Dec  9 21:06:20 2011	(r228378)
@@ -0,0 +1,93 @@
+# isci Loadable Kernel Module
+#
+# $FreeBSD$
+
+ISCI_SRC_PATH = ${.CURDIR}/../..
+
+.PATH:  ${ISCI_SRC_PATH}/dev/isci
+
+KMOD    = isci
+SRCS    = isci.c isci_oem_parameters.c \
+		isci_controller.c isci_domain.c isci_io_request.c \
+		isci_timer.c isci_remote_device.c isci_logger.c \
+		isci_task_request.c isci_sysctl.c isci_interrupt.c
+
+SRCS += \
+		sci_base_controller.c \
+		sci_base_domain.c \
+		sci_base_iterator.c \
+		sci_base_library.c \
+		sci_base_logger.c \
+		sci_base_memory_descriptor_list.c \
+		sci_base_memory_descriptor_list_decorator.c \
+		sci_base_object.c \
+		sci_base_observer.c \
+		sci_base_phy.c \
+		sci_base_port.c \
+		sci_base_remote_device.c \
+	 	sci_base_request.c \
+		sci_base_state_machine.c \
+		sci_base_state_machine_logger.c \
+		sci_base_state_machine_observer.c \
+		sci_base_subject.c
+
+SRCS += \
+		sci_abstract_list.c \
+		sci_util.c
+
+SRCS += \
+		scic_sds_controller.c \
+		scic_sds_library.c scic_sds_pci.c \
+		scic_sds_phy.c scic_sds_port.c \
+		scic_sds_port_configuration_agent.c \
+		scic_sds_remote_device.c scic_sds_remote_node_context.c \
+		scic_sds_remote_node_table.c scic_sds_request.c \
+		scic_sds_sgpio.c scic_sds_smp_remote_device.c \
+		scic_sds_smp_request.c scic_sds_ssp_request.c \
+		scic_sds_stp_packet_request.c scic_sds_stp_remote_device.c \
+		scic_sds_stp_request.c scic_sds_unsolicited_frame_control.c
+
+SRCS += \
+		scif_sas_controller.c \
+		scif_sas_controller_state_handlers.c \
+		scif_sas_controller_states.c scif_sas_domain.c \
+		scif_sas_domain_state_handlers.c scif_sas_domain_states.c \
+		scif_sas_high_priority_request_queue.c \
+		scif_sas_internal_io_request.c scif_sas_io_request.c \
+		scif_sas_io_request_state_handlers.c \
+		scif_sas_io_request_states.c scif_sas_library.c \
+		scif_sas_remote_device.c \
+		scif_sas_remote_device_ready_substate_handlers.c \
+		scif_sas_remote_device_ready_substates.c \
+		scif_sas_remote_device_starting_substate_handlers.c \
+		scif_sas_remote_device_starting_substates.c \
+		scif_sas_remote_device_state_handlers.c \
+		scif_sas_remote_device_states.c scif_sas_request.c \
+		scif_sas_smp_activity_clear_affiliation.c \
+		scif_sas_smp_io_request.c scif_sas_smp_phy.c \
+		scif_sas_smp_remote_device.c scif_sas_stp_io_request.c \
+		scif_sas_stp_remote_device.c scif_sas_stp_task_request.c \
+		scif_sas_task_request.c scif_sas_task_request_state_handlers.c \
+		scif_sas_task_request_states.c scif_sas_timer.c
+
+SRCS += \
+		sati.c \
+		sati_abort_task_set.c sati_atapi.c \
+		sati_device.c sati_inquiry.c sati_log_sense.c \
+		sati_lun_reset.c sati_mode_pages.c sati_mode_select.c \
+		sati_mode_sense.c sati_mode_sense_6.c sati_mode_sense_10.c \
+		sati_move.c sati_passthrough.c sati_read.c sati_read_buffer.c \
+		sati_read_capacity.c  \
+		sati_report_luns.c sati_request_sense.c sati_reassign_blocks.c \
+		sati_start_stop_unit.c sati_synchronize_cache.c \
+		sati_test_unit_ready.c sati_unmap.c sati_util.c \
+		sati_verify.c sati_write.c  \
+		sati_write_buffer.c sati_write_long.c sati_write_and_verify.c
+
+SRCS += opt_scsi.h opt_cam.h
+SRCS += device_if.h bus_if.h pci_if.h
+
+CC	= gcc
+
+.include <bsd.kmod.mk>
+