Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp3465794pxa; Wed, 26 Aug 2020 00:39:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAHrjnqddbztclL2CdOJ34IFNlgSB/a5OBD6K0uumVCf4eq3MacX7kXsv0QcMADZ8Ak6mU X-Received: by 2002:aa7:cd6c:: with SMTP id ca12mr13352738edb.365.1598427544010; Wed, 26 Aug 2020 00:39:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598427544; cv=none; d=google.com; s=arc-20160816; b=bEPZtyhkFOTe2bbWOeggzzcxuKy8s3VXSvdvFkx8c6YgHXHqIS5JtQwyixpkRfY/Nk 3e8dzAIOk5xnf0PBH3gkvCQG0/c4DRP+Q2a/U6gn27bUyTIfRlhkv+MQJ35XX56Qnc9b gUl7mLQk2LJqwX1rlQ481odLsljbc73XLPCvvaSdO3CApWyyMeVks0/VYRPf3XiO2YSp /LHRUS4cfOnjJPR63G9OAYEjIdeLhj+HsqEuFw8GCRQyZp84zxCXkn2I+NwxyzWeAG+i /s7CDBe5U5bD+3IqC4r1dUoM13MG+gefOSEhpZxA9GHpPPOt80ZkVV5wVGO0uRltQkvK nvdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=s/MuDN7Ec38yyIzo691PSBPU/pf/RYlMcUfgbaJds58=; b=1KWAKGagok+N0jajUaUJrJ2jjhXcEjwHKQKqCufw424yw3zBAwgmWdvuTl2mU1/ilG BV68IpWbit8lYdhUnhnMgxmaFrRnQgWokhcN311ntF+HazitIroyAY504Fz020GRAmB6 TMpM3LJynBzCsGb0krl+S0eY4eLUk4uIvKFR6cBnLxeNG8dNgzqxNZrizyiW/x6kyeiP 4PUcrBY3Ls8WhqKfFhYRtU4yVU9CWkizeRf1oDE6Wh7Je5SBJqBQePeFKyB2T37vkZTn 3psOOlmWuPwerV45KzeRJWHlfuDVi0XobOK9mnKeyr23O5SPuSrhAeiGOZzYcpBNHB3u OeXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o6si975844ejb.289.2020.08.26.00.38.41; Wed, 26 Aug 2020 00:39:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726786AbgHZHfl convert rfc822-to-8bit (ORCPT + 99 others); Wed, 26 Aug 2020 03:35:41 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([207.82.80.151]:60809 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726717AbgHZHfl (ORCPT ); Wed, 26 Aug 2020 03:35:41 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-180-RnQPf0V8PLuz68E-GvnDxg-1; Wed, 26 Aug 2020 08:35:36 +0100 X-MC-Unique: RnQPf0V8PLuz68E-GvnDxg-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 26 Aug 2020 08:35:30 +0100 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Wed, 26 Aug 2020 08:35:30 +0100 From: David Laight To: 'Kent Overstreet' CC: 'Marcelo Ricardo Leitner' , "linux-kernel@vger.kernel.org" , "'linux-sctp@vger.kernel.org'" , Eric Biggers , 'Catalin Marinas' , "Andrew Morton" , 'Neil Horman' Subject: RE: [PATCH 00/13] lib/generic-radix-tree: genradix bug fix and optimisations. Thread-Topic: [PATCH 00/13] lib/generic-radix-tree: genradix bug fix and optimisations. Thread-Index: AdZ67b0yl7qlbV/xQHyOe3+CAeHrEgAABLWAAAIsYaD///zZAP/+9nJQ Date: Wed, 26 Aug 2020 07:35:30 +0000 Message-ID: <425b461bdd4c429c905f99d2ab7451f2@AcuMS.aculab.com> References: <21289d79b0474811b21ed8478c465159@AcuMS.aculab.com> <20200825154127.GB2444@localhost.localdomain> <17da427b99b444ce9d310d6542ae197e@AcuMS.aculab.com> <20200825163224.GA499490@zaphod.evilpiepirate.org> In-Reply-To: <20200825163224.GA499490@zaphod.evilpiepirate.org> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: aculab.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kent Overstreet > Sent: 25 August 2020 17:32 > > On Tue, Aug 25, 2020 at 04:00:35PM +0000, David Laight wrote: > > From: 'Marcelo Ricardo Leitner' > > > Sent: 25 August 2020 16:41 > > > > > > On Tue, Aug 25, 2020 at 02:52:34PM +0000, David Laight wrote: > > > > The genradix code is used by SCTP for accessing per-stream data. > > > > This means there are quite a lot of lookups but the code wasn't > > > > really optimised at all. > > > > > > My test box is down for the moment and will bring it on later today or > > > tomorrow, so I can't test it yet. What should we expect as performance > > > gains here? > > > > Not sure, probably not much, but it ought to show up :-) > > There'll be bigger gains on a cpu that has software ilog2(). > > > > I've only checked SCTP still works. > > I've requested 32k streams on a listener - to force a level-2 tree. > > I've also done at least one check with a massive pad in the sctp > > stream structure. > > Have you benchmarked at all? Or were you looking at the generated assembly? I've been reading a lot of assembly. (Some of the code generated by modern gcc is crap.) With horrible casts it is the easiest way to check the code is right! I'm going to try marking the lookup functions with '__attribute__ ((pure))'. That should help the sctp code that does repeated SCTP_SI(). In reality I want to mark them __attribute__ ((const)) - including the inline wrappers, but that isn't allowed if they read memory. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)