mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Barry Song <21cnbao@gmail.com>,
	chris@zankel.net, jcmvbkbc@gmail.com, akpm@linux-foundation.org,
	linux-kernel@vger.kernel.org
Cc: willy@infradead.org, dennis@kernel.org, alexghiti@rivosinc.com,
	Barry Song <v-songbaohua@oppo.com>,
	Huacai Chen <chenhuacai@loongson.cn>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v2] xtensa: remove redundant flush_dcache_page and ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE macros
Date: Tue, 19 Mar 2024 07:17:58 -0700	[thread overview]
Message-ID: <ce352c9c-2052-4a23-809a-ef4cc9b7169c@roeck-us.net> (raw)
In-Reply-To: <CAGsJ_4z1k9BQGPJvuXtXPQueokM-yu0nf7yQko6yjhj-0fgAnA@mail.gmail.com>

On 3/18/24 18:27, Barry Song wrote:
> On Tue, Mar 19, 2024 at 2:09 PM Barry Song <21cnbao@gmail.com> wrote:
>>
>> From: Barry Song <v-songbaohua@oppo.com>
>>
>> xtensa's flush_dcache_page() can be a no-op sometimes. There is a
>> generic implementation for this case in include/asm-generic/
>> cacheflush.h.
>>   #ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
>>   static inline void flush_dcache_page(struct page *page)
>>   {
>>   }
>>
>>   #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
>>   #endif
>>
>> So remove the superfluous flush_dcache_page() definition, which also
>> helps silence potential build warnings complaining the page variable
>> passed to flush_dcache_page() is not used.
>>
>>     In file included from crypto/scompress.c:12:
>>     include/crypto/scatterwalk.h: In function 'scatterwalk_pagedone':
>>     include/crypto/scatterwalk.h:76:30: warning: variable 'page' set but not used [-Wunused-but-set-variable]
>>        76 |                 struct page *page;
>>           |                              ^~~~
>>     crypto/scompress.c: In function 'scomp_acomp_comp_decomp':
>>>> crypto/scompress.c:174:38: warning: unused variable 'dst_page' [-Wunused-variable]
>>       174 |                         struct page *dst_page = sg_page(req->dst);
>>           |
>>
>> The issue was originally reported on LoongArch by kernel test
>> robot (Huacai fixed it on LoongArch), then reported by Guenter
>> and me on xtensa.
>>
>> This patch also removes lots of redundant macros which have
>> been defined by asm-generic/cacheflush.h.
>>
>> Cc: Huacai Chen <chenhuacai@loongson.cn>
>> Cc: Herbert Xu <herbert@gondor.apana.org.au>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202403091614.NeUw5zcv-lkp@intel.com/
>> Reported-by: Barry Song <v-songbaohua@oppo.com>
>> Closes: https://lore.kernel.org/all/CAGsJ_4yDk1+axbte7FKQEwD7X2oxUCFrEc9M5YOS1BobfDFXPA@mail.gmail.com/
>> Reported-by: Guenter Roeck <linux@roeck-us.net>
> 
> Hi Guenter,
> I am not a xtensa guy, so I will need your help for a full test. if
> turns out it is a too big(ambitious)

I sent a Tested-by: tag to your patch. As far as my testing goes, it works fine,
and I added your patch to my "testing" branch (which tries to be buildable
and testable for all architectures).

> fix, a minimal fix might be:
> 

FWIW, I think a minimal fix would have been to mark the variable as __maybe_unused,
but as others have pointed out it would be nice if there would be a guidance
about optional API functions like this one that specifies if it may be
implemented as macro and, if so, how it has to handle unused variables.

Thanks,
Guenter


  parent reply	other threads:[~2024-03-19 14:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-19  1:09 Barry Song
2024-03-19  1:27 ` Barry Song
2024-03-19  2:12   ` Max Filippov
2024-03-19  2:16     ` Barry Song
2024-03-19  3:49       ` Guenter Roeck
2024-03-19 14:17   ` Guenter Roeck [this message]
2024-03-19 23:22     ` Barry Song
2024-03-19  3:43 ` Guenter Roeck
2024-04-27 19:05 ` Guenter Roeck
2024-04-29  1:39   ` Barry Song
2024-04-29  5:09   ` Max Filippov
2024-04-29  9:11     ` Barry Song
2024-04-29 13:58     ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ce352c9c-2052-4a23-809a-ef4cc9b7169c@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=21cnbao@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexghiti@rivosinc.com \
    --cc=chenhuacai@loongson.cn \
    --cc=chris@zankel.net \
    --cc=dennis@kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=jcmvbkbc@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=v-songbaohua@oppo.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®