From patchwork Tue Sep 11 15:25:49 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yevgeny Kliteynik X-Patchwork-Id: 1438611 X-Patchwork-Delegate: alexne@voltaire.com Return-Path: X-Original-To: patchwork-linux-rdma@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id DAA9B4025E for ; Tue, 11 Sep 2012 15:26:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756756Ab2IKP0Q (ORCPT ); Tue, 11 Sep 2012 11:26:16 -0400 Received: from eu1sys200aog114.obsmtp.com ([207.126.144.137]:33648 "HELO eu1sys200aog114.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1756750Ab2IKP0P (ORCPT ); Tue, 11 Sep 2012 11:26:15 -0400 Received: from MTLCAS01.mtl.com ([193.47.165.155]) (using TLSv1) by eu1sys200aob114.postini.com ([207.126.147.11]) with SMTP ID DSNKUE9YFaJNt+BKyBs4eXG3oDOZfrA4mhb8@postini.com; Tue, 11 Sep 2012 15:26:15 UTC Received: from [10.7.17.62] (10.0.13.1) by MTLCAS01.mtl.com (10.0.8.71) with Microsoft SMTP Server id 14.2.247.3; Tue, 11 Sep 2012 18:25:49 +0300 Message-ID: <504F57FD.5090703@mellanox.co.il> Date: Tue, 11 Sep 2012 18:25:49 +0300 From: Yevgeny Kliteynik Reply-To: User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: , Linux RDMA , Yevgeny Kliteynik Subject: [PATCH 2/8 v2] opensm/complib: define macros for for "if" statements with branch prediction hints X-Originating-IP: [10.0.13.1] Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org Defined "PT" and "PF" for "predict true" and "predict false" respectively. Signed-off-by: Yevgeny Kliteynik --- include/complib/cl_types_osd.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/include/complib/cl_types_osd.h b/include/complib/cl_types_osd.h index ce1a452..2538913 100644 --- a/include/complib/cl_types_osd.h +++ b/include/complib/cl_types_osd.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved. - * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. + * Copyright (c) 2002-2012 Mellanox Technologies LTD. All rights reserved. * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. * * This software is available to you under a choice of one of two @@ -64,6 +64,18 @@ BEGIN_C_DECLS #include #include #include + +/* + * Branch prediction hints + */ +#if defined(HAVE_BUILTIN_EXPECT) +#define PT(exp) __builtin_expect( ((uintptr_t)(exp)), 1 ) +#define PF(exp) __builtin_expect( ((uintptr_t)(exp)), 0 ) +#else +#define PT(exp) (exp) +#define PF(exp) (exp) +#endif + #if defined (_DEBUG_) #define CL_ASSERT assert #else /* _DEBUG_ */