Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2024878imm; Fri, 7 Sep 2018 09:39:26 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdb58QMZhRMGXktXUYEEM0jMO+EgPPDvi47z53Zaqv3E7BIb+T33qHD/KD9xn8G2NYFYZy0b X-Received: by 2002:a62:fcd2:: with SMTP id e201-v6mr9516583pfh.101.1536338366851; Fri, 07 Sep 2018 09:39:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536338366; cv=none; d=google.com; s=arc-20160816; b=AaOmCjbtSN6cEOm659S9sDOoo870B6iXMeQbRLjZakerBaSufADLUBzIUwIBu/iJk1 73SAf+gcxepqJ/YhCb8lwyUT1CZviS0l54+zOuh7YteTalIgVGQpmuygoy4gk8aatDXS VoLFyK652QvYPKmPk/6tLG/l6W8yJrhIRkt+5DB/72XYEvE7h4jE13ej4AJ6Vbt7Dkpy JN3XcXwmhEvh29cd03BTAoDfydV9nUjUi3P91ZmTy02jcUdp2Oqz5iwA3/dLamN6XVvM gBwx+90Q2+tPW+eqpDU9+dFTU4pjpu5VcfLlvCpWOo+h5ma1QV09CqmP7WJeDfVcjmn+ d28Q== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:autocrypt:openpgp:from:references:cc:to :subject; bh=Dr5SpJoIBn+1kyms7903Fcht9vyGIPgftAP+kusq5lY=; b=aBsFa8k1wY0SLknTzImi2LNVV/GqGMnSzeRSRQo5kiIGNvRfUsL2ekIcVLVQOxyzwt goovRR99fy3E13ptCgK+hOJ0x6uCwuKAVUUlPu2oph9URcdT8OYCQACnsxr6E9RqbG+l rhvnnUdLW07X2J6v4kXjdgDzL7oNaIXI4rVHQ9A4wCCw1PEhBiws7UTOw5Et3YMBCiZM OmcHTxKT67vbs5EkC3kJokygboI/MGfn50NgeBqPIICFUgVvy4Tgw3On4CpnSKNmAARX h/u3lFM18xEvLbT2CwS/Vi72tdu8gXskchuc2narvsbBVQTGiP/FCFl+rHly6HkUEUf1 mE3g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x65-v6si8884259pff.196.2018.09.07.09.39.10; Fri, 07 Sep 2018 09:39:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726248AbeIGVTW (ORCPT + 99 others); Fri, 7 Sep 2018 17:19:22 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:48215 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725944AbeIGVTW (ORCPT ); Fri, 7 Sep 2018 17:19:22 -0400 Received: from static-50-53-48-205.bvtn.or.frontiernet.net ([50.53.48.205] helo=[192.168.192.153]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1fyJlJ-0002eG-Gy; Fri, 07 Sep 2018 16:37:37 +0000 Subject: Re: [PATCH] apparmor: Fix network performance issue in aa_label_sk_perm To: Tony Jones Cc: seth.arnold@canonical.com, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org References: <20180907043357.4638-1-tonyj@suse.de> From: John Johansen Openpgp: preference=signencrypt Autocrypt: addr=john.johansen@canonical.com; prefer-encrypt=mutual; keydata= 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 Organization: Canonical Message-ID: Date: Fri, 7 Sep 2018 09:37:34 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180907043357.4638-1-tonyj@suse.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/06/2018 09:33 PM, Tony Jones wrote: > The netperf benchmark shows a 5.73% reduction in throughput for > small (64 byte) transfers by unconfined tasks. > > DEFINE_AUDIT_SK() in aa_label_sk_perm() should not be performed > unconditionally, rather only when the label is confined. > > netperf-tcp > 56974a6fc^ 56974a6fc > Min 64 563.48 ( 0.00%) 531.17 ( -5.73%) > Min 128 1056.92 ( 0.00%) 999.44 ( -5.44%) > Min 256 1945.95 ( 0.00%) 1867.97 ( -4.01%) > Min 1024 6761.40 ( 0.00%) 6364.23 ( -5.87%) > Min 2048 11110.53 ( 0.00%) 10606.20 ( -4.54%) > Min 3312 13692.67 ( 0.00%) 13158.41 ( -3.90%) > Min 4096 14926.29 ( 0.00%) 14457.46 ( -3.14%) > Min 8192 18399.34 ( 0.00%) 18091.65 ( -1.67%) > Min 16384 21384.13 ( 0.00%) 21158.05 ( -1.06%) > Hmean 64 564.96 ( 0.00%) 534.38 ( -5.41%) > Hmean 128 1064.42 ( 0.00%) 1010.12 ( -5.10%) > Hmean 256 1965.85 ( 0.00%) 1879.16 ( -4.41%) > Hmean 1024 6839.77 ( 0.00%) 6478.70 ( -5.28%) > Hmean 2048 11154.80 ( 0.00%) 10671.13 ( -4.34%) > Hmean 3312 13838.12 ( 0.00%) 13249.01 ( -4.26%) > Hmean 4096 15009.99 ( 0.00%) 14561.36 ( -2.99%) > Hmean 8192 18975.57 ( 0.00%) 18326.54 ( -3.42%) > Hmean 16384 21440.44 ( 0.00%) 21324.59 ( -0.54%) > Stddev 64 1.24 ( 0.00%) 2.85 (-130.64%) > Stddev 128 4.51 ( 0.00%) 6.53 ( -44.84%) > Stddev 256 11.67 ( 0.00%) 8.50 ( 27.16%) > Stddev 1024 48.33 ( 0.00%) 75.07 ( -55.34%) > Stddev 2048 54.82 ( 0.00%) 65.16 ( -18.86%) > Stddev 3312 153.57 ( 0.00%) 56.29 ( 63.35%) > Stddev 4096 100.25 ( 0.00%) 88.50 ( 11.72%) > Stddev 8192 358.13 ( 0.00%) 169.99 ( 52.54%) > Stddev 16384 43.99 ( 0.00%) 141.82 (-222.39%) > > Signed-off-by: Tony Jones > Fixes: 56974a6fcfef ("apparmor: add base infastructure for socket > mediation") hey Tony, thanks for the patch, I am curious did you're investigation look into what parts of DEFINE_AUDIT_SK are causing the issue? regardless, I have pulled it into apparmor next > --- > security/apparmor/net.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/security/apparmor/net.c b/security/apparmor/net.c > index bb24cfa0a164..d5d72dd1ca1f 100644 > --- a/security/apparmor/net.c > +++ b/security/apparmor/net.c > @@ -146,17 +146,20 @@ int aa_af_perm(struct aa_label *label, const char *op, u32 request, u16 family, > static int aa_label_sk_perm(struct aa_label *label, const char *op, u32 request, > struct sock *sk) > { > - struct aa_profile *profile; > - DEFINE_AUDIT_SK(sa, op, sk); > + int error = 0; > > AA_BUG(!label); > AA_BUG(!sk); > > - if (unconfined(label)) > - return 0; > + if (!unconfined(label)) { > + struct aa_profile *profile; > + DEFINE_AUDIT_SK(sa, op, sk); > > - return fn_for_each_confined(label, profile, > - aa_profile_af_sk_perm(profile, &sa, request, sk)); > + error = fn_for_each_confined(label, profile, > + aa_profile_af_sk_perm(profile, &sa, request, sk)); > + } > + > + return error; > } > > int aa_sk_perm(const char *op, u32 request, struct sock *sk) >