From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7338AC2D0A3 for ; Sun, 1 Nov 2020 21:43:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B3EC722255 for ; Sun, 1 Nov 2020 21:43:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B3EC722255 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=perches.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BB1766B005C; Sun, 1 Nov 2020 16:43:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B630C6B005D; Sun, 1 Nov 2020 16:43:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A795E6B0068; Sun, 1 Nov 2020 16:43:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0232.hostedemail.com [216.40.44.232]) by kanga.kvack.org (Postfix) with ESMTP id 9121C6B005C for ; Sun, 1 Nov 2020 16:43:16 -0500 (EST) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 56FE4181AEF15 for ; Sun, 1 Nov 2020 21:43:16 +0000 (UTC) X-FDA: 77437175592.30.land90_1e126a7272aa Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin30.hostedemail.com (Postfix) with ESMTP id 2DE43180B3C8B for ; Sun, 1 Nov 2020 21:43:16 +0000 (UTC) X-HE-Tag: land90_1e126a7272aa X-Filterd-Recvd-Size: 4745 Received: from smtprelay.hostedemail.com (smtprelay0186.hostedemail.com [216.40.44.186]) by imf35.hostedemail.com (Postfix) with ESMTP for ; Sun, 1 Nov 2020 21:43:15 +0000 (UTC) Received: from filter.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay06.hostedemail.com (Postfix) with ESMTP id 77864180078BA; Sun, 1 Nov 2020 21:43:15 +0000 (UTC) X-Session-Marker: 6A6F6540706572636865732E636F6D X-HE-Tag: car71_170a629272aa X-Filterd-Recvd-Size: 3553 Received: from XPS-9350.home (unknown [47.151.133.149]) (Authenticated sender: joe@perches.com) by omf10.hostedemail.com (Postfix) with ESMTPA; Sun, 1 Nov 2020 21:43:14 +0000 (UTC) Message-ID: Subject: Re: [PATCH 4/5] mm: shmem: Convert shmem_enabled_show to use sysfs_emit_at From: Joe Perches To: Matthew Wilcox Cc: Hugh Dickins , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Sun, 01 Nov 2020 13:43:13 -0800 In-Reply-To: <20201101211910.GG27442@casper.infradead.org> References: <20201101204834.GF27442@casper.infradead.org> <616b92af9378e9f9697555074bba1e377450477f.camel@perches.com> <20201101211910.GG27442@casper.infradead.org> Content-Type: text/plain; charset="ISO-8859-1" User-Agent: Evolution 3.38.1-1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, 2020-11-01 at 21:19 +0000, Matthew Wilcox wrote: > On Sun, Nov 01, 2020 at 01:04:35PM -0800, Joe Perches wrote: > > On Sun, 2020-11-01 at 20:48 +0000, Matthew Wilcox wrote: > > > On Sun, Nov 01, 2020 at 12:12:51PM -0800, Joe Perches wrote: > > > > @@ -4024,7 +4024,7 @@ int __init shmem_init(void) > > > > =A0 > > > >=20 > > > > =A0#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && defined(CONFIG_SYS= FS) > > > > =A0static ssize_t shmem_enabled_show(struct kobject *kobj, > > > > - struct kobj_attribute *attr, char *buf) > > > > + struct kobj_attribute *attr, char *buf) > > > > =A0{ > > > > =A0 static const int values[] =3D { > > > > =A0 SHMEM_HUGE_ALWAYS, > > >=20 > > > Why? > >=20 > > why what? >=20 > Why did you change this? Are you asking about the function argument alignment or the commit messag= e? The function argument alignment because the function is being updated. The commit itself because sysfs_emit is the documented preferred interfac= e. > > > > @@ -4034,16 +4034,19 @@ static ssize_t shmem_enabled_show(struct = kobject *kobj, > > > > =A0 SHMEM_HUGE_DENY, > > > > =A0 SHMEM_HUGE_FORCE, > > > > =A0 }; > > > > - int i, count; > > > > - > > > > - for (i =3D 0, count =3D 0; i < ARRAY_SIZE(values); i++) { > > > > - const char *fmt =3D shmem_huge =3D=3D values[i] ? "[%s] " : "%= s "; > > > > + int len =3D 0; > > > > + int i; > > >=20 > > > Better: > > > int i, len =3D 0; > >=20 > > I generally disagree as I think it better to have each declaration on= an > > individual line. >=20 > You're wrong. I'm not wrong. We just disagree. Look for yourself at typical declaration use in the kernel. The typical style is single line declarations. That single declaration per line style is also documented in coding-style.rst "To this end, use just one data declaration per line (no commas for multiple data declarations)" > Look, this isn't performance sensitive code. Just do something simple. >=20 > if (shmem_huge =3D=3D values[i]) > buf +=3D sysfs_emit(buf, "[%s]", > shmem_format_huge(values[i])); > else > buf +=3D sysfs_emit(buf, "%s", > shmem_format_huge(values[i])); > if (i =3D=3D ARRAY_SIZE(values) - 1) > buf +=3D sysfs_emit(buf, "\n"); > else > buf +=3D sysfs_emit(buf, " "); >=20 > Shame there's no sysfs_emitc, but there you go. I think what's there is simple. And your suggested code doesn't work. sysfs_emit is used for single emits. sysfs_emit_at is used for multiple emits.