All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Barry Song <21cnbao@gmail.com>
To: Max Filippov <jcmvbkbc@gmail.com>
Cc: Guenter Roeck <linux@roeck-us.net>,
	chris@zankel.net, akpm@linux-foundation.org,
	 linux-kernel@vger.kernel.org, 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: Mon, 29 Apr 2024 21:11:45 +1200	[thread overview]
Message-ID: <CAGsJ_4zrnw5ziZHZciC3asgsZUzWP8N69k7o48WKdV2qNn6+pw@mail.gmail.com> (raw)
In-Reply-To: <CAMo8BfJTutHPByNZcpjb-2xeUX-Nu2XkjN0DWE6w5xV=zg__Kg@mail.gmail.com>

On Mon, Apr 29, 2024 at 5:10 PM Max Filippov <jcmvbkbc@gmail.com> wrote:
>
> On Sat, Apr 27, 2024 at 12:05 PM Guenter Roeck <linux@roeck-us.net> wrote:
> >
> > Hi,
> >
> > On Tue, Mar 19, 2024 at 02:09:20PM +1300, Barry Song 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>
> > > Closes: https://lore.kernel.org/all/aaa8b7d7-5abe-47bf-93f6-407942436472@roeck-us.net/
> > > Fixes: 77292bb8ca69 ("crypto: scomp - remove memcpy if sg_nents is 1 and pages are lowmem")
> > > Signed-off-by: Barry Song <v-songbaohua@oppo.com>
> >
> > The mainline kernel still fails to build xtensa:allmodconfig.
> >
> > Building xtensa:allmodconfig ... failed
> > --------------
> > Error log:
> > crypto/scompress.c: In function 'scomp_acomp_comp_decomp':
> > crypto/scompress.c:174:38: error: unused variable 'dst_page' [-Werror=unused-variable]
> >   174 |                         struct page *dst_page = sg_page(req->dst);
> >
> > This patch fixes the problem. Is there a chance to get it applied to the
> > upstream kernel, or should I just stop build testing xtensa:allmodconfig ?
>
> Applied to my xtensa tree.

Thanks for taking care of this, Max!

> I was still hoping to see rationale for why this is a useful warning.

Personally, I think the reason is quite obvious.

This warning serves as a valuable alert, highlighting an issue where Xtensa
fails to properly implement flush_dcache_page(). The problem lies in a macro
definition that neglects to evaluate its argument. Such discrepancies can
impact driver functionality across various architectures, rendering them
independent of specific architectural considerations.

>
> --
> Thanks.
> -- Max

Thanks
Barry

  reply	other threads:[~2024-04-29  9:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-19  1:09 [PATCH v2] xtensa: remove redundant flush_dcache_page and ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE macros 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
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 [this message]
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=CAGsJ_4zrnw5ziZHZciC3asgsZUzWP8N69k7o48WKdV2qNn6+pw@mail.gmail.com \
    --to=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=linux@roeck-us.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.