From: Krishna Kumar Date: Tue, 17 Oct 2006 04:39:09 +0000 (+0530) Subject: RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() X-Git-Tag: v2.6.20-rc2~6^2~13^2~476^2~22 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=f115db4803effd8207c3169590fb3f13336a4093;p=safe%2Fjmp%2Flinux-2.6 RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() In queue_req(), use time_after_eq() instead of time_after() for following reasons : - Improves insert time if multiple entries with same time are present. - set_timeout need not be called if entry with same time is added to the list (and that happens to be the entry with the smallest time), saving atomic/locking operations. - Earlier entries with same time are deleted first (fifo). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index e11187e..a68d7c7 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -139,7 +139,7 @@ static void queue_req(struct addr_req *req) mutex_lock(&lock); list_for_each_entry_reverse(temp_req, &req_list, list) { - if (time_after(req->timeout, temp_req->timeout)) + if (time_after_eq(req->timeout, temp_req->timeout)) break; }