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 7AEB3C2D0A3 for ; Sun, 1 Nov 2020 22:14:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1074522260 for ; Sun, 1 Nov 2020 22:14:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1074522260 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 A4F126B0068; Sun, 1 Nov 2020 17:14:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9FE066B006C; Sun, 1 Nov 2020 17:14:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93D066B006E; Sun, 1 Nov 2020 17:14:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0152.hostedemail.com [216.40.44.152]) by kanga.kvack.org (Postfix) with ESMTP id 672D26B0068 for ; Sun, 1 Nov 2020 17:14:09 -0500 (EST) Received: from smtpin15.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 02F25180AD80F for ; Sun, 1 Nov 2020 22:14:08 +0000 (UTC) X-FDA: 77437253418.15.pan75_5f03714272aa Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin15.hostedemail.com (Postfix) with ESMTP id C92811814B0C1 for ; Sun, 1 Nov 2020 22:14:08 +0000 (UTC) X-HE-Tag: pan75_5f03714272aa X-Filterd-Recvd-Size: 4196 Received: from smtprelay.hostedemail.com (smtprelay0228.hostedemail.com [216.40.44.228]) by imf45.hostedemail.com (Postfix) with ESMTP for ; Sun, 1 Nov 2020 22:14:08 +0000 (UTC) Received: from filter.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay05.hostedemail.com (Postfix) with ESMTP id 186A01802913A; Sun, 1 Nov 2020 22:14:08 +0000 (UTC) X-Session-Marker: 6A6F6540706572636865732E636F6D X-HE-Tag: worm98_430afcb272aa X-Filterd-Recvd-Size: 3024 Received: from XPS-9350.home (unknown [47.151.133.149]) (Authenticated sender: joe@perches.com) by omf03.hostedemail.com (Postfix) with ESMTPA; Sun, 1 Nov 2020 22:14:06 +0000 (UTC) Message-ID: <27e4de6beb414838f42e826b694438f10d7871e4.camel@perches.com> Subject: Re: [PATCH 4/5] mm: shmem: Convert shmem_enabled_show to use sysfs_emit_at From: Joe Perches To: Matthew Wilcox , Greg Kroah-Hartman Cc: Hugh Dickins , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Sun, 01 Nov 2020 14:14:05 -0800 In-Reply-To: <20201101220604.GI27442@casper.infradead.org> References: <20201101204834.GF27442@casper.infradead.org> <616b92af9378e9f9697555074bba1e377450477f.camel@perches.com> <20201101211910.GG27442@casper.infradead.org> <20201101220604.GI27442@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 22:06 +0000, Matthew Wilcox wrote: > On Sun, Nov 01, 2020 at 01:43:13PM -0800, Joe Perches wrote: > > > Why did you change this? > >=20 > > Are you asking about the function argument alignment or the commit me= ssage? >=20 > The indentation. Don't change the fucking indentation, Joe. >=20 > > > Look, this isn't performance sensitive code. Just do something sim= ple. > > >=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. > >=20 > > I think what's there is simple. >=20 > Again, you're wrong. >=20 > > And your suggested code doesn't work. > > sysfs_emit is used for single emits. > > sysfs_emit_at is used for multiple emits. >=20 > Oh, ugh, sysfs_emit() should be able to work on a buffer that isn't > page aligned. Greg, how about this? >=20 > +++ b/fs/sysfs/file.c > @@ -722,13 +722,13 @@ int sysfs_emit(char *buf, const char *fmt, ...) > =A0{ > =A0=A0=A0=A0=A0=A0=A0=A0va_list args; > =A0=A0=A0=A0=A0=A0=A0=A0int len; > + int start =3D offset_in_page(buf); > =A0 >=20 > - if (WARN(!buf || offset_in_page(buf), > - "invalid sysfs_emit: buf:%p\n", buf)) > + if (WARN(!buf, "invalid sysfs_emit: buf:%p\n", buf)) > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return 0; > =A0 >=20 > =A0=A0=A0=A0=A0=A0=A0=A0va_start(args, fmt); > - len =3D vscnprintf(buf, PAGE_SIZE, fmt, args); > + len =3D vscnprintf(buf, PAGE_SIZE - start, fmt, args); > =A0=A0=A0=A0=A0=A0=A0=A0va_end(args); > =A0 >=20 > =A0=A0=A0=A0=A0=A0=A0=A0return len; >=20