From owner-freebsd-infiniband@freebsd.org Mon May 23 15:38:38 2016 Return-Path: Delivered-To: freebsd-infiniband@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B402B475D1 for ; Mon, 23 May 2016 15:38:38 +0000 (UTC) (envelope-from Krishna2@chelsio.com) Received: from stargate.chelsio.com (stargate.chelsio.com [12.32.117.8]) (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 4E2861180 for ; Mon, 23 May 2016 15:38:37 +0000 (UTC) (envelope-from Krishna2@chelsio.com) Received: from nice.asicdesigners.com (nice.asicdesigners.com [10.192.160.7]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id u4NFcbRO016871; Mon, 23 May 2016 08:38:37 -0700 Received: from NICE.asicdesigners.com ([fe80::51b2:ba95:9d72:babc]) by nice.asicdesigners.com ([fe80::51b2:ba95:9d72:babc%15]) with mapi id 14.03.0123.003; Mon, 23 May 2016 08:38:33 -0700 From: KrishnamRaju ErapaRaju To: Hans Petter Selasky , "freebsd-infiniband@freebsd.org" Subject: RE: write() system call(via rdma_get_cm_event) is not honoring a signal with flag SA_RESTART. Thread-Topic: write() system call(via rdma_get_cm_event) is not honoring a signal with flag SA_RESTART. Thread-Index: AdGxDdzFSQDg/DwRTmyaP7SBO3H+vgAAVIMQAA9IBoAAHy0U0AAPFVIAAMCpauA= Date: Mon, 23 May 2016 15:38:32 +0000 Message-ID: <4EAB2619577FCA4EBCE11F17B7373447C4313CE5@nice.asicdesigners.com> References: <4EAB2619577FCA4EBCE11F17B7373447C4313548@nice.asicdesigners.com> <3500e324-7d7c-ed94-5913-911fd9877bef@selasky.org> <4EAB2619577FCA4EBCE11F17B7373447C431372B@nice.asicdesigners.com> <6085b7db-aab4-0496-1789-0992bc1f1c5d@selasky.org> In-Reply-To: <6085b7db-aab4-0496-1789-0992bc1f1c5d@selasky.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.193.191.70] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-BeenThere: freebsd-infiniband@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Infiniband on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2016 15:38:38 -0000 Hi Hans, Did you get a chance to have a closer look into this issue? Looping in application for errno: 512 would be workaround, but the fix(I th= ink) should be in RDMA core, as there are many rdma applications, which alr= eady written assuming system calls gets restarted when interrupted by a sig= nal. Thanks, Krishna. -----Original Message----- From: Hans Petter Selasky [mailto:hps@selasky.org]=20 Sent: Thursday, May 19, 2016 6:04 PM To: KrishnamRaju ErapaRaju ; freebsd-infiniband@freeb= sd.org Subject: Re: write() system call(via rdma_get_cm_event) is not honoring a s= ignal with flag SA_RESTART. On 05/19/16 14:22, KrishnamRaju ErapaRaju wrote: > Hans, > > I think it's not a regression. > > To verify it I have fetched the latest sources(both FreeBSD & OFED 3.2) a= nd started building... > Between, may I know when will OFED 3.2 patches be pushed to upstream? > > Also, before started building, I'd quickly replaced -ERESTARTSYS with -5= 12 in ucma_get_event, I still don't see the write() system call getting res= tarted. > > Here are the return codes: > ucma_get_event, returns -512 > rdma_get_cm_event, returns -1, errorno: 512 > > So can FreeBSD understand the interrupted system call return value(-512) = like Linux? Hi, I need to check this a bit closer. Possibly you'll need to loop in the appl= ication or library when you see errno 512. --HPS