WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1/3] Do not use DEFINE_RWLOCK Macro

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 1/3] Do not use DEFINE_RWLOCK Macro
From: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Date: Wed, 29 Aug 2007 16:31:14 -0400
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 29 Aug 2007 13:31:41 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1188412657.8719.5.camel@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <46D5B8D5.8030605@xxxxxxxxxxxxxxx> <1188412657.8719.5.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.5 (X11/20070719)
Revised patch attached.

Note that I did run into a problem with a buggy kernel in RHEL4-U3.
It seems that in this macro, rw_lock_t was used instead of rwlock_t. I added a line to platform-compat.h to account for this.

Ben

Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>


Ian Campbell wrote:
On Wed, 2007-08-29 at 14:20 -0400, Ben Guthro wrote:
Do not use the DEFINE_RWLOCK macro, as it is not available when compiled against older kernels, such as SLES9's 2.6.5

Things like this should generally be done by adding a suitably guarded
definition of DEFINE_RWLOCK to the platform-compat.h header in
unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h.

Ian.


diff -r a381118a247a 
unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
--- a/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Wed Aug 
29 15:30:40 2007 -0400
+++ b/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Wed Aug 
29 16:26:33 2007 -0400
@@ -116,4 +116,13 @@ extern char *kasprintf(gfp_t gfp, const 
 #define DEFINE_SEQLOCK(x) seqlock_t x = SEQLOCK_UNLOCKED
 #endif
 
+#if defined(__LINUX_SPINLOCK_H) && !defined(DEFINE_RWLOCK)
+#define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED
 #endif
+
+/* Bug in RHEL4-U3 rw_lock_t is mistakenly defined in this macro */
+#if defined(__LINUX_SPINLOCK_H) && defined(DEFINE_RWLOCK)
+#define rw_lock_t rwlock_t
+#endif
+
+#endif
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>