* [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
@ 2024-09-06 15:05 Andy Shevchenko
2024-09-06 15:26 ` Liam R. Howlett
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2024-09-06 15:05 UTC (permalink / raw)
To: Andrew Morton, Liam R. Howlett, maple-tree, linux-mm, linux-kernel, llvm
Cc: Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
Andy Shevchenko
A few functions defined but not used. This, in particular,
prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:
lib/maple_tree.c:351:21: error: unused function 'mte_set_full' [-Werror,-Wunused-function]
351 | static inline void *mte_set_full(const struct maple_enode *node)
| ^~~~~~~~~~~~
lib/maple_tree.c:356:21: error: unused function 'mte_clear_full' [-Werror,-Wunused-function]
356 | static inline void *mte_clear_full(const struct maple_enode *node)
| ^~~~~~~~~~~~~~
lib/maple_tree.c:361:20: error: unused function 'mte_has_null' [-Werror,-Wunused-function]
361 | static inline bool mte_has_null(const struct maple_enode *node)
| ^~~~~~~~~~~~
Fix this by dropping unused functions.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Fixes: 6e7ba8b5e238 ("maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up")
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
lib/maple_tree.c | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index aa3a5df15b8e..f7601aa470e0 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -348,21 +348,6 @@ static inline void *mte_safe_root(const struct maple_enode *node)
return (void *)((unsigned long)node & ~MAPLE_ROOT_NODE);
}
-static inline void *mte_set_full(const struct maple_enode *node)
-{
- return (void *)((unsigned long)node & ~MAPLE_ENODE_NULL);
-}
-
-static inline void *mte_clear_full(const struct maple_enode *node)
-{
- return (void *)((unsigned long)node | MAPLE_ENODE_NULL);
-}
-
-static inline bool mte_has_null(const struct maple_enode *node)
-{
- return (unsigned long)node & MAPLE_ENODE_NULL;
-}
-
static __always_inline bool ma_is_root(struct maple_node *node)
{
return ((unsigned long)node->parent & MA_ROOT_PARENT);
--
2.43.0.rc1.1336.g36b5255a03ac
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-06 15:05 [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build Andy Shevchenko
@ 2024-09-06 15:26 ` Liam R. Howlett
2024-09-06 15:43 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Liam R. Howlett @ 2024-09-06 15:26 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Andrew Morton, maple-tree, linux-mm, linux-kernel, llvm,
Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt
This exists to stop people from using the bits while the feature is in
active development. We had the same patch a few days (weeks?) ago.
* Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:05]:
> A few functions defined but not used. This, in particular,
> prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:
>
> lib/maple_tree.c:351:21: error: unused function 'mte_set_full' [-Werror,-Wunused-function]
> 351 | static inline void *mte_set_full(const struct maple_enode *node)
> | ^~~~~~~~~~~~
> lib/maple_tree.c:356:21: error: unused function 'mte_clear_full' [-Werror,-Wunused-function]
> 356 | static inline void *mte_clear_full(const struct maple_enode *node)
> | ^~~~~~~~~~~~~~
> lib/maple_tree.c:361:20: error: unused function 'mte_has_null' [-Werror,-Wunused-function]
> 361 | static inline bool mte_has_null(const struct maple_enode *node)
> | ^~~~~~~~~~~~
>
> Fix this by dropping unused functions.
>
> See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
> inline functions for W=1 build").
>
> Fixes: 6e7ba8b5e238 ("maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up")
> Fixes: 54a611b60590 ("Maple Tree: add new data structure")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> lib/maple_tree.c | 15 ---------------
> 1 file changed, 15 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index aa3a5df15b8e..f7601aa470e0 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -348,21 +348,6 @@ static inline void *mte_safe_root(const struct maple_enode *node)
> return (void *)((unsigned long)node & ~MAPLE_ROOT_NODE);
> }
>
> -static inline void *mte_set_full(const struct maple_enode *node)
> -{
> - return (void *)((unsigned long)node & ~MAPLE_ENODE_NULL);
> -}
> -
> -static inline void *mte_clear_full(const struct maple_enode *node)
> -{
> - return (void *)((unsigned long)node | MAPLE_ENODE_NULL);
> -}
> -
> -static inline bool mte_has_null(const struct maple_enode *node)
> -{
> - return (unsigned long)node & MAPLE_ENODE_NULL;
> -}
> -
> static __always_inline bool ma_is_root(struct maple_node *node)
> {
> return ((unsigned long)node->parent & MA_ROOT_PARENT);
> --
> 2.43.0.rc1.1336.g36b5255a03ac
>
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-06 15:26 ` Liam R. Howlett
@ 2024-09-06 15:43 ` Andy Shevchenko
2024-09-06 20:05 ` Liam R. Howlett
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2024-09-06 15:43 UTC (permalink / raw)
To: Liam R. Howlett, Andrew Morton, maple-tree, linux-mm,
linux-kernel, llvm, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt
On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> This exists to stop people from using the bits while the feature is in
> active development. We had the same patch a few days (weeks?) ago.
This breaks build. Can you propose better solution, please?
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:05]:
> > A few functions defined but not used. This, in particular,
> > prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:
> >
> > lib/maple_tree.c:351:21: error: unused function 'mte_set_full' [-Werror,-Wunused-function]
> > 351 | static inline void *mte_set_full(const struct maple_enode *node)
> > | ^~~~~~~~~~~~
> > lib/maple_tree.c:356:21: error: unused function 'mte_clear_full' [-Werror,-Wunused-function]
> > 356 | static inline void *mte_clear_full(const struct maple_enode *node)
> > | ^~~~~~~~~~~~~~
> > lib/maple_tree.c:361:20: error: unused function 'mte_has_null' [-Werror,-Wunused-function]
> > 361 | static inline bool mte_has_null(const struct maple_enode *node)
> > | ^~~~~~~~~~~~
> >
> > Fix this by dropping unused functions.
> >
> > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
> > inline functions for W=1 build").
> >
> > Fixes: 6e7ba8b5e238 ("maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up")
> > Fixes: 54a611b60590 ("Maple Tree: add new data structure")
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-06 15:43 ` Andy Shevchenko
@ 2024-09-06 20:05 ` Liam R. Howlett
2024-09-09 9:41 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Liam R. Howlett @ 2024-09-06 20:05 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Andrew Morton, maple-tree, linux-mm, linux-kernel, llvm,
Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt
* Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:43]:
> On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> > This exists to stop people from using the bits while the feature is in
> > active development. We had the same patch a few days (weeks?) ago.
>
> This breaks build. Can you propose better solution, please?
Can you please provide the config file and clang version that fails on
this error?
Thanks,
Liam
>
> > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:05]:
> > > A few functions defined but not used. This, in particular,
> > > prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:
> > >
> > > lib/maple_tree.c:351:21: error: unused function 'mte_set_full' [-Werror,-Wunused-function]
> > > 351 | static inline void *mte_set_full(const struct maple_enode *node)
> > > | ^~~~~~~~~~~~
> > > lib/maple_tree.c:356:21: error: unused function 'mte_clear_full' [-Werror,-Wunused-function]
> > > 356 | static inline void *mte_clear_full(const struct maple_enode *node)
> > > | ^~~~~~~~~~~~~~
> > > lib/maple_tree.c:361:20: error: unused function 'mte_has_null' [-Werror,-Wunused-function]
> > > 361 | static inline bool mte_has_null(const struct maple_enode *node)
> > > | ^~~~~~~~~~~~
> > >
> > > Fix this by dropping unused functions.
> > >
> > > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
> > > inline functions for W=1 build").
> > >
> > > Fixes: 6e7ba8b5e238 ("maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up")
> > > Fixes: 54a611b60590 ("Maple Tree: add new data structure")
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-06 20:05 ` Liam R. Howlett
@ 2024-09-09 9:41 ` Andy Shevchenko
2024-09-09 9:55 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2024-09-09 9:41 UTC (permalink / raw)
To: Liam R. Howlett, Andrew Morton, maple-tree, linux-mm,
linux-kernel, llvm, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt
On Fri, Sep 06, 2024 at 04:05:47PM -0400, Liam R. Howlett wrote:
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:43]:
> > On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> > > This exists to stop people from using the bits while the feature is in
> > > active development. We had the same patch a few days (weeks?) ago.
> >
> > This breaks build. Can you propose better solution, please?
>
> Can you please provide the config file and clang version that fails on
> this error?
I believe any of them where this module is marked to compile
(and since it's listed as lib-y, means _any_ configuration will fail).
For your convenience it's x86_64_defconfig in the source tree.
Have you had a chance to read the referred commit?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-09 9:41 ` Andy Shevchenko
@ 2024-09-09 9:55 ` Andy Shevchenko
2024-09-09 10:16 ` Lorenzo Stoakes
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2024-09-09 9:55 UTC (permalink / raw)
To: Liam R. Howlett, Andrew Morton, maple-tree, linux-mm,
linux-kernel, llvm, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt
On Mon, Sep 09, 2024 at 12:41:06PM +0300, Andy Shevchenko wrote:
> On Fri, Sep 06, 2024 at 04:05:47PM -0400, Liam R. Howlett wrote:
> > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:43]:
> > > On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> > > > This exists to stop people from using the bits while the feature is in
> > > > active development. We had the same patch a few days (weeks?) ago.
> > >
> > > This breaks build. Can you propose better solution, please?
> >
> > Can you please provide the config file and clang version that fails on
> > this error?
>
> I believe any of them where this module is marked to compile
> (and since it's listed as lib-y, means _any_ configuration will fail).
> For your convenience it's x86_64_defconfig in the source tree.
>
> Have you had a chance to read the referred commit?
Btw, if you really, really need those stubs the workarond can be moving them to
a header file (IIUC what's this all about).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-09 9:55 ` Andy Shevchenko
@ 2024-09-09 10:16 ` Lorenzo Stoakes
2024-09-09 10:24 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Lorenzo Stoakes @ 2024-09-09 10:16 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Liam R. Howlett, Andrew Morton, maple-tree, linux-mm,
linux-kernel, llvm, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt
On Mon, Sep 09, 2024 at 12:55:50PM GMT, Andy Shevchenko wrote:
> On Mon, Sep 09, 2024 at 12:41:06PM +0300, Andy Shevchenko wrote:
> > On Fri, Sep 06, 2024 at 04:05:47PM -0400, Liam R. Howlett wrote:
> > > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:43]:
> > > > On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> > > > > This exists to stop people from using the bits while the feature is in
> > > > > active development. We had the same patch a few days (weeks?) ago.
> > > >
> > > > This breaks build. Can you propose better solution, please?
> > >
> > > Can you please provide the config file and clang version that fails on
> > > this error?
> >
> > I believe any of them where this module is marked to compile
> > (and since it's listed as lib-y, means _any_ configuration will fail).
> > For your convenience it's x86_64_defconfig in the source tree.
> >
> > Have you had a chance to read the referred commit?
>
> Btw, if you really, really need those stubs the workarond can be moving them to
> a header file (IIUC what's this all about).
>
This issue is resolved by
https://lore.kernel.org/all/20240907021506.4018676-1-Liam.Howlett@oracle.com/
> --
> With Best Regards,
> Andy Shevchenko
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build
2024-09-09 10:16 ` Lorenzo Stoakes
@ 2024-09-09 10:24 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2024-09-09 10:24 UTC (permalink / raw)
To: Lorenzo Stoakes
Cc: Liam R. Howlett, Andrew Morton, maple-tree, linux-mm,
linux-kernel, llvm, Nathan Chancellor, Nick Desaulniers,
Bill Wendling, Justin Stitt
On Mon, Sep 09, 2024 at 11:16:49AM +0100, Lorenzo Stoakes wrote:
> On Mon, Sep 09, 2024 at 12:55:50PM GMT, Andy Shevchenko wrote:
> > On Mon, Sep 09, 2024 at 12:41:06PM +0300, Andy Shevchenko wrote:
> > > On Fri, Sep 06, 2024 at 04:05:47PM -0400, Liam R. Howlett wrote:
> > > > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> [240906 11:43]:
> > > > > On Fri, Sep 06, 2024 at 11:26:26AM -0400, Liam R. Howlett wrote:
> > > > > > This exists to stop people from using the bits while the feature is in
> > > > > > active development. We had the same patch a few days (weeks?) ago.
> > > > >
> > > > > This breaks build. Can you propose better solution, please?
> > > >
> > > > Can you please provide the config file and clang version that fails on
> > > > this error?
> > >
> > > I believe any of them where this module is marked to compile
> > > (and since it's listed as lib-y, means _any_ configuration will fail).
> > > For your convenience it's x86_64_defconfig in the source tree.
> > >
> > > Have you had a chance to read the referred commit?
> >
> > Btw, if you really, really need those stubs the workarond can be moving them to
> > a header file (IIUC what's this all about).
>
> This issue is resolved by
> https://lore.kernel.org/all/20240907021506.4018676-1-Liam.Howlett@oracle.com/
Thanks, however I was expecting to see myself either in Cc or as reported in
that change. Whatever, the problem solved!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-09-09 10:24 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-06 15:05 [PATCH v1 1/1] maple_tree: Drop unused functions to fix the build Andy Shevchenko
2024-09-06 15:26 ` Liam R. Howlett
2024-09-06 15:43 ` Andy Shevchenko
2024-09-06 20:05 ` Liam R. Howlett
2024-09-09 9:41 ` Andy Shevchenko
2024-09-09 9:55 ` Andy Shevchenko
2024-09-09 10:16 ` Lorenzo Stoakes
2024-09-09 10:24 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox