From patchwork Wed Sep 16 20:05:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Nosek X-Patchwork-Id: 11780701 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 929C792C for ; Wed, 16 Sep 2020 20:06:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 218AF21973 for ; Wed, 16 Sep 2020 20:06:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bLEy5kgL" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 218AF21973 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D7D27900010; Wed, 16 Sep 2020 16:06:24 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id D2D59900007; Wed, 16 Sep 2020 16:06:24 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C1BD9900010; Wed, 16 Sep 2020 16:06:24 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0135.hostedemail.com [216.40.44.135]) by kanga.kvack.org (Postfix) with ESMTP id A9976900007 for ; Wed, 16 Sep 2020 16:06:24 -0400 (EDT) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 585C0180AD802 for ; Wed, 16 Sep 2020 20:06:24 +0000 (UTC) X-FDA: 77270006688.24.trees87_580149b2711c Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin24.hostedemail.com (Postfix) with ESMTP id 2EC051A4A5 for ; Wed, 16 Sep 2020 20:06:24 +0000 (UTC) X-Spam-Summary: 1,0,0,f522c7163bc46ff0,d41d8cd98f00b204,mateusznosek0@gmail.com,,RULES_HIT:41:355:379:541:800:960:973:988:989:1260:1311:1314:1345:1437:1515:1534:1540:1711:1730:1747:1777:1792:2393:2559:2562:3138:3139:3140:3141:3142:3352:3865:3866:3870:3871:3874:5007:6119:6261:6653:7514:7576:7903:7904:8603:9413:10004:11026:11232:11473:11658:11914:12043:12296:12297:12517:12519:12555:12679:12895:13069:13311:13357:13894:14096:14181:14384:14394:14721:21080:21444:21451:21627:21666:21990:30041:30054:30070,0,RBL:209.85.167.68:@gmail.com:.lbl8.mailshell.net-62.18.0.100 66.100.201.100;04yr61jow49oh5cxxbi8smkk8jkn8opa16yzpqyp9cg4yespttwgx1tu5f5gas8.3r8d8cjbkfn6spzjxgg6pyhn9s1f7qgnibjtm7knqwn6ff9n86ik6gu4pczji69.g-lbl8.mailshell.net-223.238.255.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:23,LUA_SUMMARY:none X-HE-Tag: trees87_580149b2711c X-Filterd-Recvd-Size: 3716 Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) by imf46.hostedemail.com (Postfix) with ESMTP for ; Wed, 16 Sep 2020 20:06:23 +0000 (UTC) Received: by mail-lf1-f68.google.com with SMTP id b12so8290329lfp.9 for ; Wed, 16 Sep 2020 13:06:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=83r2wrjQMjUpX6ec5uvyqkMhiCmfyJ7v7vGfYiNy+/M=; b=bLEy5kgLWyy3Cw20pb4aEiiWr7+GT1cqur9BhkHWjWdXPw+nCjzBamNJGhlwczulxN E9vUC3IhP190vrZ+CvbT0sygSie4Mu5mvwN5wwB1I5aGXf4YdqNNoQSRwoItRphNTt1/ Jymsc024JmkinWUOi+zRpaeBMFAnJ0CPQClyl8PmAewGZ6c7RCfyZ8evg5ZOzQ4zg1Xc hJk0bZKnFWZ6qrzQPuhHdgPbd9k0hgV0L3xry24ezxeimhAF8QPcfqKXFvFNmR7kXm1/ KjGQIHvilzdgi9KFtEHo+R0g8iShzPV4vEIjVV4P9Y5zepY7E+CR2WDncDepNRaLw63T nLgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=83r2wrjQMjUpX6ec5uvyqkMhiCmfyJ7v7vGfYiNy+/M=; b=nUJMNr+HmQUQNpRZRALHZlB1XFJk0por9bKYdbhn/c2b8j63VK8Lm20H7FAQ5hTipO ek2pjKNZqaE+1IY+uKtn7AZdvY0trgbOip5QJOSPaMS9nXEWLNC9UFXD5Mjb5RWtdNZn mg+P6+hkPrK5hVPtuXcLPsLfXGbyPJ6MCtvs9Z54IS2j/b+/+ARPSY5QpZkK9HmX4LIi K4/OZsx6jLVsHKcPyFs2zkeiNQ/WG02ZRb0BE16pgHehvnUtifpQkjImUInJ0KWOX9dD LKaCa1qmALZARJvQDWtPj/QqYMzfDeXyGsrJAcorMHbRpPoZdyuFgHiqhGXvDczu6Rcm SFTQ== X-Gm-Message-State: AOAM533xhNZklIBQxvhQDctH5TYRvwmJhcKTkAGodtQlH4r3L7E/dOdh ZGZTZ4fLTFasZNLzYUlM4BxU/O7lOnKxmA== X-Google-Smtp-Source: ABdhPJxm2gH2T/GibDyTFJML/hUlGDceRYhbfAYXwtXAvrUDtwj9ZBbKk0PSzGojnhNryVm0BCp/+w== X-Received: by 2002:a19:38c:: with SMTP id 134mr7770047lfd.564.1600286781767; Wed, 16 Sep 2020 13:06:21 -0700 (PDT) Received: from localhost.localdomain (188.147.112.12.nat.umts.dynamic.t-mobile.pl. [188.147.112.12]) by smtp.gmail.com with ESMTPSA id q4sm3376728lfm.46.2020.09.16.13.06.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2020 13:06:20 -0700 (PDT) From: mateusznosek0@gmail.com To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Mateusz Nosek , cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org Subject: [PATCH] mm/slab.c: micro-optimization spare one branch in main flow Date: Wed, 16 Sep 2020 22:05:39 +0200 Message-Id: <20200916200539.23268-1-mateusznosek0@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 2EC051A4A5 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000565, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Mateusz Nosek By small refactoring two 'unlikely' branches are changed so that if not one of them is true then only one branch occurs in 'likely' path of the function in question. Change verified in assembly generated by gcc 8.3.0. Signed-off-by: Mateusz Nosek --- mm/slab.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/slab.c b/mm/slab.c index 2cb494d98fe9..e04ea756bcbc 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -4186,9 +4186,10 @@ size_t __ksize(const void *objp) struct kmem_cache *c; size_t size; - BUG_ON(!objp); - if (unlikely(objp == ZERO_SIZE_PTR)) + if (unlikely(ZERO_OR_NULL_PTR(objp))) { + BUG_ON(!objp); return 0; + } c = virt_to_cache(objp); size = c ? c->object_size : 0;