From owner-freebsd-drivers@FreeBSD.ORG Mon Aug 25 20:49:58 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0D992CBC; Mon, 25 Aug 2014 20:49:58 +0000 (UTC) Received: from mx0a-0016ce01.pphosted.com (mx0a-0016ce01.pphosted.com [67.231.148.157]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF9AD3A83; Mon, 25 Aug 2014 20:49:54 +0000 (UTC) Received: from pps.filterd (m0045602.ppops.net [127.0.0.1]) by mx0a-0016ce01.pphosted.com (8.14.5/8.14.5) with SMTP id s7PKXftM011031; Mon, 25 Aug 2014 13:39:05 -0700 Received: from avcashub1.qlogic.com (avcashub3.qlogic.com [198.70.193.117]) by mx0a-0016ce01.pphosted.com with ESMTP id 1nxm4pv2yv-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 25 Aug 2014 13:39:05 -0700 Received: from AVMB1.qlogic.org ([fe80::c919:8cc:f3ba:c727]) by avcashub3.qlogic.org ([::1]) with mapi id 14.02.0387.000; Mon, 25 Aug 2014 13:39:04 -0700 From: David Somayajulu To: "freebsd-drivers@freebsd.org" , "freebsd-net@freebsd.org" Subject: OFED support on FreeBSD Thread-Topic: OFED support on FreeBSD Thread-Index: Ac/ApGWHQT8rZlw9QHawbhkKVJfMdw== Date: Mon, 25 Aug 2014 20:39:04 +0000 Message-ID: <49F5640B08EAA94DAF2F6B6145E6A08A0128634D54@AVMB1.qlogic.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.4.10] MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5600 definitions=7541 signatures=670506 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1408250262 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "davidcs@FreeBSD.org" X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Aug 2014 20:49:58 -0000 Hi All, What is the current support for OFED on FreeBSD ? Are there any drivers whi= ch support either RoCE or iWARP ? Thanks David Somayajulu ________________________________ This message and any attached documents contain information from QLogic Cor= poration or its wholly-owned subsidiaries that may be confidential. If you = are not the intended recipient, you may not read, copy, distribute, or use = this information. If you have received this transmission in error, please n= otify the sender immediately by reply e-mail and then delete this message. From owner-freebsd-drivers@FreeBSD.ORG Mon Aug 25 21:21:44 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 30CA6DDC; Mon, 25 Aug 2014 21:21:44 +0000 (UTC) Received: from mail-pa0-x22e.google.com (mail-pa0-x22e.google.com [IPv6:2607:f8b0:400e:c03::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ED1173E59; Mon, 25 Aug 2014 21:21:43 +0000 (UTC) Received: by mail-pa0-f46.google.com with SMTP id lj1so21711891pab.33 for ; Mon, 25 Aug 2014 14:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=yVyClQE7XFNgsKNsRmm7tMFb+mMAXrZrQQiMNRPm0Ok=; b=mBYckjHBdsp1zyptPM9pQXx4J4mPEMr6nPMlDxdHEUPrSRGepC+Yb7UaFlmjaEAGaI lW7XgI4ZNlh9awGJgW/hl25YPwHkipLxLSCd/z86Ic0ra9o6yeuiZMssOEkqDDSD/4lN rTMtsFLN1lJr1CJSbZJLDJK5QlM0i1EQmvkG6aR+/bwk7GhUjyRzRfODTPtBi1m8BU3O XDnw92L07waYkE3MC/tUP3xx1QOiakKIUl7yXmkyeEuyVD1t+v+j448Q4dFzvgmYy0Up j8V23fc0f9DioEp+sazP4ourruM6HXxJxa+Q9VkLAsfJDbCN50DyOKbEROSG6D37W4GE YKqA== X-Received: by 10.66.163.65 with SMTP id yg1mr32125072pab.33.1409001703357; Mon, 25 Aug 2014 14:21:43 -0700 (PDT) Received: from [10.192.166.0] (stargate.chelsio.com. [67.207.112.58]) by mx.google.com with ESMTPSA id td4sm772143pbc.36.2014.08.25.14.21.41 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Aug 2014 14:21:42 -0700 (PDT) Sender: Navdeep Parhar Message-ID: <53FBA8E4.305@FreeBSD.org> Date: Mon, 25 Aug 2014 14:21:40 -0700 From: Navdeep Parhar User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: David Somayajulu , "freebsd-drivers@freebsd.org" , "freebsd-net@freebsd.org" Subject: Re: OFED support on FreeBSD References: <49F5640B08EAA94DAF2F6B6145E6A08A0128634D54@AVMB1.qlogic.org> In-Reply-To: <49F5640B08EAA94DAF2F6B6145E6A08A0128634D54@AVMB1.qlogic.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "davidcs@FreeBSD.org" X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Aug 2014 21:21:44 -0000 On 08/25/14 13:39, David Somayajulu wrote: > Hi All, > What is the current support for OFED on FreeBSD ? Are there any drivers which support either RoCE or iWARP ? The iw_cxgbe module in sys/dev/cxgbe/iw_cxgbe is an iWARP driver for cxgbe(4) hardware. The upstream version is kernel verbs only, and is probably missing some bugfixes. Regards, Navdeep > Thanks > David Somayajulu > > ________________________________ > > This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message. > _______________________________________________ > freebsd-drivers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-drivers > To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.org" > From owner-freebsd-drivers@FreeBSD.ORG Tue Aug 26 13:04:21 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C044C794 for ; Tue, 26 Aug 2014 13:04:21 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1lp0144.outbound.protection.outlook.com [207.46.163.144]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5BE023470 for ; Tue, 26 Aug 2014 13:04:20 +0000 (UTC) Received: from BY1PR0301MB0902.namprd03.prod.outlook.com (25.160.195.141) by BY1PR0301MB0902.namprd03.prod.outlook.com (25.160.195.141) with Microsoft SMTP Server (TLS) id 15.0.1005.10; Tue, 26 Aug 2014 13:04:11 +0000 Received: from BY1PR0301MB0902.namprd03.prod.outlook.com ([25.160.195.141]) by BY1PR0301MB0902.namprd03.prod.outlook.com ([25.160.195.141]) with mapi id 15.00.1005.008; Tue, 26 Aug 2014 13:04:11 +0000 From: Wei Hu To: "freebsd-drivers@freebsd.org" Subject: Way to run a routine on different cpu Thread-Topic: Way to run a routine on different cpu Thread-Index: Ac/BLWyO7AuI+zwNT8+jkYIIcCHfKw== Date: Tue, 26 Aug 2014 13:04:11 +0000 Message-ID: <181e94bf68994dd9a67c6504f7fdf0d7@BY1PR0301MB0902.namprd03.prod.outlook.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [167.220.232.169] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;UriScan:; x-forefront-prvs: 03152A99FF x-forefront-antispam-report: SFV:NSPM; SFS:(6009001)(164054003)(199003)(189002)(108616004)(86362001)(2656002)(81542001)(80022001)(81342001)(85852003)(16236675004)(20776003)(92566001)(107046002)(229853001)(15975445006)(15202345003)(107886001)(90102001)(64706001)(76482001)(87936001)(33646002)(66066001)(76576001)(101416001)(106356001)(19300405004)(74502001)(46102001)(86612001)(83322001)(99286002)(95666004)(31966008)(19625215002)(4396001)(77096002)(83072002)(77982001)(54356999)(85306004)(19580395003)(105586002)(2351001)(21056001)(110136001)(99396002)(50986999)(74316001)(79102001)(74662001)(43043002)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY1PR0301MB0902; H:BY1PR0301MB0902.namprd03.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-OriginatorOrg: microsoft.onmicrosoft.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 13:04:21 -0000 Hi, I am wondering what is the right way to run a routine on a differnet cpu an= d wait for it to complete in FreeBSD kernel. For example, on cpu-0 I want t= o send a IPI to cpu-1 to let it run a routine called foo(). On cpu-0 I will= wait till foo() completes. Is smp_rendezvous() the right way to do it? Wha= t if I only want it to run on one cpu, not all cpus? Thanks, Wei From owner-freebsd-drivers@FreeBSD.ORG Wed Aug 27 20:43:08 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5A0CBFC2 for ; Wed, 27 Aug 2014 20:43:08 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 31A1D3A32 for ; Wed, 27 Aug 2014 20:43:08 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id CF428B93B; Wed, 27 Aug 2014 16:43:05 -0400 (EDT) From: John Baldwin To: freebsd-drivers@freebsd.org Subject: Re: Way to run a routine on different cpu Date: Wed, 27 Aug 2014 14:27:54 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20140415; KDE/4.5.5; amd64; ; ) References: <181e94bf68994dd9a67c6504f7fdf0d7@BY1PR0301MB0902.namprd03.prod.outlook.com> In-Reply-To: <181e94bf68994dd9a67c6504f7fdf0d7@BY1PR0301MB0902.namprd03.prod.outlook.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201408271427.54394.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 27 Aug 2014 16:43:05 -0400 (EDT) X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Aug 2014 20:43:08 -0000 On Tuesday, August 26, 2014 9:04:11 am Wei Hu wrote: > Hi, > > I am wondering what is the right way to run a routine on a differnet cpu and wait for it to complete in FreeBSD kernel. For example, on cpu-0 I want to send a IPI to cpu-1 to let it run a routine called foo(). On cpu-0 I will wait till foo() completes. Is smp_rendezvous() the right way to do it? What if I only want it to run on one cpu, not all cpus? You can use 'sched_bind()' to move yourself to CPU x: struct thread *td; td = curthread; thread_lock(td); sched_bind(td, X); thread_unlock(td); /* Perform work on CPU X. */ thread_lock(td); sched_unbind(td); thread_lock(td); /* Thread can now run anywhere its cpuset permits. */ That might be simpler than a rendezvous as a rendezvous handler runs in a more restricted environment (you can't take any locks, not even spin locks, etc.) -- John Baldwin From owner-freebsd-drivers@FreeBSD.ORG Thu Aug 28 13:01:30 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DE3583FD; Thu, 28 Aug 2014 13:01:30 +0000 (UTC) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2lp0243.outbound.protection.outlook.com [207.46.163.243]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9088911A8; Thu, 28 Aug 2014 13:01:29 +0000 (UTC) Received: from BY1PR0301MB0902.namprd03.prod.outlook.com (25.160.195.141) by BY1PR0301MB0901.namprd03.prod.outlook.com (25.160.195.140) with Microsoft SMTP Server (TLS) id 15.0.1015.19; Thu, 28 Aug 2014 13:01:25 +0000 Received: from BY1PR0301MB0902.namprd03.prod.outlook.com ([25.160.195.141]) by BY1PR0301MB0902.namprd03.prod.outlook.com ([25.160.195.141]) with mapi id 15.00.1015.018; Thu, 28 Aug 2014 13:01:25 +0000 From: Wei Hu To: John Baldwin , "freebsd-drivers@freebsd.org" Subject: RE: Way to run a routine on different cpu Thread-Topic: Way to run a routine on different cpu Thread-Index: Ac/BLWyO7AuI+zwNT8+jkYIIcCHfKwA9zFMAACbdmHA= Date: Thu, 28 Aug 2014 13:01:25 +0000 Message-ID: References: <181e94bf68994dd9a67c6504f7fdf0d7@BY1PR0301MB0902.namprd03.prod.outlook.com> <201408271427.54394.jhb@freebsd.org> In-Reply-To: <201408271427.54394.jhb@freebsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [58.34.185.63] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;UriScan:; x-forefront-prvs: 031763BCAF x-forefront-antispam-report: SFV:NSPM; SFS:(6009001)(377454003)(24454002)(66654002)(51704005)(189002)(13464003)(199003)(74316001)(105586002)(95666004)(99286002)(2656002)(33646002)(83322001)(54356999)(99396002)(19580395003)(19580405001)(107046002)(106356001)(21056001)(50986999)(107886001)(76176999)(74502001)(86612001)(76482001)(77982001)(108616004)(31966008)(79102001)(85306004)(81342001)(81542001)(80022001)(66066001)(4396001)(20776003)(64706001)(77096002)(83072002)(74662001)(90102001)(85852003)(86362001)(101416001)(46102001)(92566001)(87936001)(76576001)(43043002)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BY1PR0301MB0901; H:BY1PR0301MB0902.namprd03.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.onmicrosoft.com X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2014 13:01:31 -0000 Many thanks, John! Wei -----Original Message----- From: John Baldwin [mailto:jhb@freebsd.org]=20 Sent: Thursday, August 28, 2014 2:28 AM To: freebsd-drivers@freebsd.org Cc: Wei Hu Subject: Re: Way to run a routine on different cpu On Tuesday, August 26, 2014 9:04:11 am Wei Hu wrote: > Hi, >=20 > I am wondering what is the right way to run a routine on a differnet=20 > cpu and wait for it to complete in FreeBSD kernel. For example, on cpu-0 I want to = send a IPI to cpu-1 to let it run a routine called foo(). On cpu-0 I will w= ait till foo() completes. Is smp_rendezvous() the right way to do it? What = if I only want it to run on one cpu, not all cpus? You can use 'sched_bind()' to move yourself to CPU x: struct thread *td; td =3D curthread; thread_lock(td); sched_bind(td, X); thread_unlock(td); /* Perform work on CPU X. */ thread_lock(td); sched_unbind(td); thread_lock(td); /* Thread can now run anywhere its cpuset permits. */ That might be simpler than a rendezvous as a rendezvous handler runs in a m= ore restricted environment (you can't take any locks, not even spin locks, = etc.) -- John Baldwin