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,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,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 2BB12C388F2 for ; Mon, 2 Nov 2020 13:32:53 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7A70B223FD for ; Mon, 2 Nov 2020 13:32:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="BRqNj3bx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A70B223FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 969576B0072; Mon, 2 Nov 2020 08:32:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F1626B0074; Mon, 2 Nov 2020 08:32:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B9016B0075; Mon, 2 Nov 2020 08:32:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0220.hostedemail.com [216.40.44.220]) by kanga.kvack.org (Postfix) with ESMTP id 4B4666B0072 for ; Mon, 2 Nov 2020 08:32:51 -0500 (EST) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id DFAF0180AD815 for ; Mon, 2 Nov 2020 13:32:50 +0000 (UTC) X-FDA: 77439568500.01.wall57_030edab272b0 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id D20141004783E for ; Mon, 2 Nov 2020 13:32:49 +0000 (UTC) X-HE-Tag: wall57_030edab272b0 X-Filterd-Recvd-Size: 3866 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf42.hostedemail.com (Postfix) with ESMTP for ; Mon, 2 Nov 2020 13:32:49 +0000 (UTC) Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 939BF223BF; Mon, 2 Nov 2020 13:32:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604323968; bh=rtwGrq/TaYEdLUO5tapMlpkFM8hmFTRxeKtt5zjXmBY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=BRqNj3bxHXQQNZF9lH5wpW4GiVyQHAhqGT32RkylvRKByERDZrMs4Y8Go0yP764Yx dk9/T6sflk44e4AjwjjW61yvK6rgfTIWoDkunqBYCFfTom6MPSO2IV3HeUB8pFHqzq X7LrdSvjMdbmua7ROmc2qOPfDZT1mFodLLUopOLE= Date: Mon, 2 Nov 2020 14:33:43 +0100 From: Greg Kroah-Hartman To: Matthew Wilcox Cc: Joe Perches , Hugh Dickins , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/5] mm: shmem: Convert shmem_enabled_show to use sysfs_emit_at Message-ID: <20201102133343.GA1011963@kroah.com> References: <20201101204834.GF27442@casper.infradead.org> <616b92af9378e9f9697555074bba1e377450477f.camel@perches.com> <20201101211910.GG27442@casper.infradead.org> <20201101220604.GI27442@casper.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201101220604.GI27442@casper.infradead.org> 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, Nov 01, 2020 at 10:06:04PM +0000, Matthew Wilcox wrote: > On Sun, Nov 01, 2020 at 01:43:13PM -0800, Joe Perches wrote: > > > Why did you change this? > > > > Are you asking about the function argument alignment or the commit message? > > The indentation. Don't change the fucking indentation, Joe. > > > > Look, this isn't performance sensitive code. Just do something simple. > > > > > > if (shmem_huge == values[i]) > > > buf += sysfs_emit(buf, "[%s]", > > > shmem_format_huge(values[i])); > > > else > > > buf += sysfs_emit(buf, "%s", > > > shmem_format_huge(values[i])); > > > if (i == ARRAY_SIZE(values) - 1) > > > buf += sysfs_emit(buf, "\n"); > > > else > > > buf += sysfs_emit(buf, " "); > > > > > > Shame there's no sysfs_emitc, but there you go. > > > > I think what's there is simple. > > Again, you're wrong. > > > And your suggested code doesn't work. > > sysfs_emit is used for single emits. > > sysfs_emit_at is used for multiple emits. > > Oh, ugh, sysfs_emit() should be able to work on a buffer that isn't > page aligned. Greg, how about this? How can sysfs_emit() be called on a non-page-aligned buffer? It's being used on the buffer that was passed to the sysfs call. And if you are writing multiple values to a single sysfs file output, well, not good... > > +++ b/fs/sysfs/file.c > @@ -722,13 +722,13 @@ int sysfs_emit(char *buf, const char *fmt, ...) > { > va_list args; > int len; > + int start = offset_in_page(buf); > > - if (WARN(!buf || offset_in_page(buf), > - "invalid sysfs_emit: buf:%p\n", buf)) > + if (WARN(!buf, "invalid sysfs_emit: buf:%p\n", buf)) > return 0; > > va_start(args, fmt); > - len = vscnprintf(buf, PAGE_SIZE, fmt, args); > + len = vscnprintf(buf, PAGE_SIZE - start, fmt, args); That's a bit too 'tricky' for my taste, why is it somehow needed? thanks, greg k-h