* [PATCH] rcu: remove unused __kfree_rcu inline functions
@ 2012-06-14 11:53 Alexander Block
2012-06-14 17:29 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Block @ 2012-06-14 11:53 UTC (permalink / raw)
To: linux-kernel; +Cc: jengelh, paulmck, Alexander Block
Patch "rcu: Make __kfree_rcu() less dependent on compiler choice"
from Jan Engelhardt intended to replace the inline functions
__kfree_rcu and __is_kfree_rcu_offset with macros.
Unfortunately, the patch only added the new macros but did not
remove the old inline functions. This patch removes them finally.
With the unused functions still being around, module builds with
-O0 still fail.
Signed-off-by: Alexander Block <ablock84@googlemail.com>
---
include/linux/rcupdate.h | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 26d1a47..0ae2c55 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -906,24 +906,6 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
#define RCU_INIT_POINTER(p, v) \
p = (typeof(*v) __force __rcu *)(v)
-static __always_inline bool __is_kfree_rcu_offset(unsigned long offset)
-{
- return offset < 4096;
-}
-
-static __always_inline
-void __kfree_rcu(struct rcu_head *head, unsigned long offset)
-{
- typedef void (*rcu_callback)(struct rcu_head *);
-
- BUILD_BUG_ON(!__builtin_constant_p(offset));
-
- /* See the kfree_rcu() header comment. */
- BUILD_BUG_ON(!__is_kfree_rcu_offset(offset));
-
- kfree_call_rcu(head, (rcu_callback)offset);
-}
-
/*
* Does the specified offset indicate that the corresponding rcu_head
* structure can be handled by kfree_rcu()?
--
1.7.10
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] rcu: remove unused __kfree_rcu inline functions
2012-06-14 11:53 [PATCH] rcu: remove unused __kfree_rcu inline functions Alexander Block
@ 2012-06-14 17:29 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2012-06-14 17:29 UTC (permalink / raw)
To: Alexander Block; +Cc: linux-kernel, jengelh
On Thu, Jun 14, 2012 at 01:53:14PM +0200, Alexander Block wrote:
> Patch "rcu: Make __kfree_rcu() less dependent on compiler choice"
> from Jan Engelhardt intended to replace the inline functions
> __kfree_rcu and __is_kfree_rcu_offset with macros.
>
> Unfortunately, the patch only added the new macros but did not
> remove the old inline functions. This patch removes them finally.
>
> With the unused functions still being around, module builds with
> -O0 still fail.
Good stuff, but someone beat you to it. Please see commmit 3855cf05
(Remove function versions of __kfree_rcu and __is_kfree_rcu_offset) in:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
Thanx, Paul
> Signed-off-by: Alexander Block <ablock84@googlemail.com>
> ---
> include/linux/rcupdate.h | 18 ------------------
> 1 file changed, 18 deletions(-)
>
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 26d1a47..0ae2c55 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -906,24 +906,6 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
> #define RCU_INIT_POINTER(p, v) \
> p = (typeof(*v) __force __rcu *)(v)
>
> -static __always_inline bool __is_kfree_rcu_offset(unsigned long offset)
> -{
> - return offset < 4096;
> -}
> -
> -static __always_inline
> -void __kfree_rcu(struct rcu_head *head, unsigned long offset)
> -{
> - typedef void (*rcu_callback)(struct rcu_head *);
> -
> - BUILD_BUG_ON(!__builtin_constant_p(offset));
> -
> - /* See the kfree_rcu() header comment. */
> - BUILD_BUG_ON(!__is_kfree_rcu_offset(offset));
> -
> - kfree_call_rcu(head, (rcu_callback)offset);
> -}
> -
> /*
> * Does the specified offset indicate that the corresponding rcu_head
> * structure can be handled by kfree_rcu()?
> --
> 1.7.10
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-06-14 17:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-14 11:53 [PATCH] rcu: remove unused __kfree_rcu inline functions Alexander Block
2012-06-14 17:29 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome