mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 15/38] drivers/infiniband: Use time_before, time_before_eq, etc.
@ 2007-12-24 14:28 Julia Lawall
  2007-12-24 15:29 ` YOSHIFUJI Hideaki / 吉藤英明
  0 siblings, 1 reply; 3+ messages in thread
From: Julia Lawall @ 2007-12-24 14:28 UTC (permalink / raw)
  To: rolandd, mshefty, linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

The functions time_before, time_before_eq, time_after, and time_after_eq
are more robust for comparing jiffies against other values.

A simplified version of the semantic patch making this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@ change_compare_np @
expression E;
@@

(
- jiffies <= E
+ time_before_eq(jiffies,E)
|
- jiffies >= E
+ time_after_eq(jiffies,E)
|
- jiffies < E
+ time_before(jiffies,E)
|
- jiffies > E
+ time_after(jiffies,E)
)

@ include depends on change_compare_np @
@@

#include <linux/jiffies.h>

@ no_include depends on !include && change_compare_np @
@@

  #include <linux/...>
+ #include <linux/jiffies.h>
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
---

diff -r -u -p a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c
--- a/drivers/infiniband/hw/ipath/ipath_intr.c	2007-11-01 10:30:39.000000000 +0100
+++ b/drivers/infiniband/hw/ipath/ipath_intr.c	2007-12-23 20:30:39.000000000 +0100
@@ -32,6 +32,7 @@
  */
 
 #include <linux/pci.h>
+#include <linux/jiffies.h>
 
 #include "ipath_kernel.h"
 #include "ipath_verbs.h"
@@ -94,7 +95,7 @@ static void ipath_disarm_senderrbufs(str
 	if (sbuf[0] || sbuf[1] || (piobcnt > 128 && (sbuf[2] || sbuf[3]))) {
 		int i;
 		if (ipath_debug & (__IPATH_PKTDBG|__IPATH_DBG) &&
-			dd->ipath_lastcancel > jiffies) {
+			time_before(jiffies, dd->ipath_lastcancel)) {
 			__IPATH_DBG_WHICH(__IPATH_PKTDBG|__IPATH_DBG,
 					  "SendbufErrs %lx %lx", sbuf[0],
 					  sbuf[1]);
@@ -635,7 +636,7 @@ static int handle_errors(struct ipath_de
 
 	/* likely due to cancel, so suppress */
 	if ((errs & (INFINIPATH_E_SPKTLEN | INFINIPATH_E_SPIOARMLAUNCH)) &&
-		dd->ipath_lastcancel > jiffies) {
+		time_before(jiffies, dd->ipath_lastcancel)) {
 		ipath_dbg("Suppressed armlaunch/spktlen after error send cancel\n");
 		errs &= ~(INFINIPATH_E_SPIOARMLAUNCH | INFINIPATH_E_SPKTLEN);
 	}
diff -r -u -p a/drivers/infiniband/hw/ipath/ipath_mad.c b/drivers/infiniband/hw/ipath/ipath_mad.c
--- a/drivers/infiniband/hw/ipath/ipath_mad.c	2007-10-22 11:25:09.000000000 +0200
+++ b/drivers/infiniband/hw/ipath/ipath_mad.c	2007-12-23 20:35:37.000000000 +0100
@@ -1334,7 +1334,8 @@ static int process_subn(struct ib_device
 	}
 
 	/* Is the mkey in the process of expiring? */
-	if (dev->mkey_lease_timeout && jiffies >= dev->mkey_lease_timeout) {
+	if (dev->mkey_lease_timeout &&
+	    time_before_eq(jiffies, dev->mkey_lease_timeout)) {
 		/* Clear timeout and mkey protection field. */
 		dev->mkey_lease_timeout = 0;
 		dev->mkeyprot = 0;

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 15/38] drivers/infiniband: Use time_before, time_before_eq, etc.
  2007-12-24 14:28 [PATCH 15/38] drivers/infiniband: Use time_before, time_before_eq, etc Julia Lawall
@ 2007-12-24 15:29 ` YOSHIFUJI Hideaki / 吉藤英明
  2007-12-24 15:30   ` Julia Lawall
  0 siblings, 1 reply; 3+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-12-24 15:29 UTC (permalink / raw)
  To: julia; +Cc: rolandd, mshefty, linux-kernel, kernel-janitors

In article <Pine.LNX.4.64.0712241528140.23999@ask.diku.dk> (at Mon, 24 Dec 2007 15:28:42 +0100 (CET)), Julia Lawall <julia@diku.dk> says:

> diff -r -u -p a/drivers/infiniband/hw/ipath/ipath_mad.c b/drivers/infiniband/hw/ipath/ipath_mad.c
> --- a/drivers/infiniband/hw/ipath/ipath_mad.c	2007-10-22 11:25:09.000000000 +0200
> +++ b/drivers/infiniband/hw/ipath/ipath_mad.c	2007-12-23 20:35:37.000000000 +0100
> @@ -1334,7 +1334,8 @@ static int process_subn(struct ib_device
>  	}
>  
>  	/* Is the mkey in the process of expiring? */
> -	if (dev->mkey_lease_timeout && jiffies >= dev->mkey_lease_timeout) {
> +	if (dev->mkey_lease_timeout &&
> +	    time_before_eq(jiffies, dev->mkey_lease_timeout)) {
>  		/* Clear timeout and mkey protection field. */
>  		dev->mkey_lease_timeout = 0;
>  		dev->mkeyprot = 0;

time_after_eq()

--yoshfuji

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 15/38] drivers/infiniband: Use time_before, time_before_eq, etc.
  2007-12-24 15:29 ` YOSHIFUJI Hideaki / 吉藤英明
@ 2007-12-24 15:30   ` Julia Lawall
  0 siblings, 0 replies; 3+ messages in thread
From: Julia Lawall @ 2007-12-24 15:30 UTC (permalink / raw)
  To: YOSHIFUJI Hideaki / 吉藤英明
  Cc: rolandd, mshefty, linux-kernel, kernel-janitors

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1014 bytes --]

On Tue, 25 Dec 2007, YOSHIFUJI Hideaki / µÈÆ£±ÑÌÀ wrote:

> In article <Pine.LNX.4.64.0712241528140.23999@ask.diku.dk> (at Mon, 24 Dec 2007 15:28:42 +0100 (CET)), Julia Lawall <julia@diku.dk> says:
> 
> > diff -r -u -p a/drivers/infiniband/hw/ipath/ipath_mad.c b/drivers/infiniband/hw/ipath/ipath_mad.c
> > --- a/drivers/infiniband/hw/ipath/ipath_mad.c	2007-10-22 11:25:09.000000000 +0200
> > +++ b/drivers/infiniband/hw/ipath/ipath_mad.c	2007-12-23 20:35:37.000000000 +0100
> > @@ -1334,7 +1334,8 @@ static int process_subn(struct ib_device
> >  	}
> >  
> >  	/* Is the mkey in the process of expiring? */
> > -	if (dev->mkey_lease_timeout && jiffies >= dev->mkey_lease_timeout) {
> > +	if (dev->mkey_lease_timeout &&
> > +	    time_before_eq(jiffies, dev->mkey_lease_timeout)) {
> >  		/* Clear timeout and mkey protection field. */
> >  		dev->mkey_lease_timeout = 0;
> >  		dev->mkeyprot = 0;
> 
> time_after_eq()

I see that there are quite a lot of problems like this.  I will have to 
start over...

julia

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-12-24 15:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-24 14:28 [PATCH 15/38] drivers/infiniband: Use time_before, time_before_eq, etc Julia Lawall
2007-12-24 15:29 ` YOSHIFUJI Hideaki / 吉藤英明
2007-12-24 15:30   ` Julia Lawall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®