Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752087AbdGFOHe (ORCPT ); Thu, 6 Jul 2017 10:07:34 -0400 Received: from dispatch1-us1.ppe-hosted.com ([67.231.154.164]:51854 "EHLO dispatch1-us1.ppe-hosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751947AbdGFOHc (ORCPT ); Thu, 6 Jul 2017 10:07:32 -0400 Subject: Re: [PATCH v3 net-next 00/12] bpf: rewrite value tracking in verifier To: Alexei Starovoitov , Alexei Starovoitov , Daniel Borkmann References: <5953B436.6030506@iogearbox.net> <788035e1-1974-b48e-3008-d294194a8b05@solarflare.com> <595413AA.40502@iogearbox.net> <20170628213701.32krfuipzngsmt4k@ast-mbp> <91267d15-652a-16d9-4ee9-42958bd842aa@solarflare.com> <5fa61129-fa82-1607-3363-dfad86aecf1e@solarflare.com> CC: , , , iovisor-dev From: Edward Cree Message-ID: <5922c77e-0476-c4a8-3bf2-e502ee3acb8f@solarflare.com> Date: Thu, 6 Jul 2017 15:07:20 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <5fa61129-fa82-1607-3363-dfad86aecf1e@solarflare.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.17.20.45] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23178.003 X-TM-AS-Result: No--5.429200-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1499350051-US93uBurjn7v Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1163 Lines: 22 On 04/07/17 20:22, Edward Cree wrote: > I don't know why test_l4lb has to process _fewer_ insns with my patches; > if anything I'm worrying that I may be incorrectly pruning branches. > (I've spotted a possible bug in that I'm not looking at 'id' which, > although it doesn't have to match, if two regs in the old state had the > same id as each other, then those regs in the new state have to have > the same id as each other too.) I've now fixed that bug, and also changing it to not fill in 'id' on pointers other than PTR_TO_PACKET when doing arithmetic (because it's only used for 'range' sharing and only PTR_TO_PACKET have that. Of course PTR_TO_MAP_VALUE_OR_NULL still use id, but they don't get it from arithmetic). Changes will be in next version of patch series, but for now: Program net-next short full new test_pkt_access 78 79 79 79 test_xdp 386 411 407 389 test_l4lb 6438 4154 4154 4062 test_tcp_estats 435 436 435 435 test_bpf_obj_id 8 8 8 8 test_pkt_md_access 41 42 42 42 As you can see, the #insns has gone down even further. -Ed