2019-08-22 02:57:41

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] rcu: don't include <linux/ktime.h> in rcutiny.h

The kbuild reported a built failure due to a header loop when RCUTINY is
enabled with my pending riscv-nommu port. Switch rcutiny.h to only
include the minimal required header to get HZ instead.

Signed-off-by: Christoph Hellwig <[email protected]>
---
include/linux/rcutiny.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/rcutiny.h b/include/linux/rcutiny.h
index 8e727f57d814..9bf1dfe7781f 100644
--- a/include/linux/rcutiny.h
+++ b/include/linux/rcutiny.h
@@ -12,7 +12,7 @@
#ifndef __LINUX_TINY_H
#define __LINUX_TINY_H

-#include <linux/ktime.h>
+#include <asm/param.h> /* for HZ */

/* Never flag non-existent other CPUs! */
static inline bool rcu_eqs_special_set(int cpu) { return false; }
--
2.20.1


2019-08-22 03:35:29

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] rcu: don't include <linux/ktime.h> in rcutiny.h

On Thu, Aug 22, 2019 at 10:53:43AM +0900, Christoph Hellwig wrote:
> The kbuild reported a built failure due to a header loop when RCUTINY is
> enabled with my pending riscv-nommu port. Switch rcutiny.h to only
> include the minimal required header to get HZ instead.
>
> Signed-off-by: Christoph Hellwig <[email protected]>

Queued for review and testing, thank you!

Do you need this in v5.4? My normal workflow would put it into v5.5.

Thanx, Paul

> ---
> include/linux/rcutiny.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/rcutiny.h b/include/linux/rcutiny.h
> index 8e727f57d814..9bf1dfe7781f 100644
> --- a/include/linux/rcutiny.h
> +++ b/include/linux/rcutiny.h
> @@ -12,7 +12,7 @@
> #ifndef __LINUX_TINY_H
> #define __LINUX_TINY_H
>
> -#include <linux/ktime.h>
> +#include <asm/param.h> /* for HZ */
>
> /* Never flag non-existent other CPUs! */
> static inline bool rcu_eqs_special_set(int cpu) { return false; }
> --
> 2.20.1
>

2019-08-22 03:50:16

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] rcu: don't include <linux/ktime.h> in rcutiny.h

On Wed, Aug 21, 2019 at 08:02:00PM -0700, Paul E. McKenney wrote:
> On Thu, Aug 22, 2019 at 10:53:43AM +0900, Christoph Hellwig wrote:
> > The kbuild reported a built failure due to a header loop when RCUTINY is
> > enabled with my pending riscv-nommu port. Switch rcutiny.h to only
> > include the minimal required header to get HZ instead.
> >
> > Signed-off-by: Christoph Hellwig <[email protected]>
>
> Queued for review and testing, thank you!
>
> Do you need this in v5.4? My normal workflow would put it into v5.5.

I hope the riscv-nommu coe gets merges for 5.4, so if we could queue
it up for that I'd appreciate it.

2019-08-22 15:29:41

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] rcu: don't include <linux/ktime.h> in rcutiny.h

On Thu, Aug 22, 2019 at 05:48:41AM +0200, Christoph Hellwig wrote:
> On Wed, Aug 21, 2019 at 08:02:00PM -0700, Paul E. McKenney wrote:
> > On Thu, Aug 22, 2019 at 10:53:43AM +0900, Christoph Hellwig wrote:
> > > The kbuild reported a built failure due to a header loop when RCUTINY is
> > > enabled with my pending riscv-nommu port. Switch rcutiny.h to only
> > > include the minimal required header to get HZ instead.
> > >
> > > Signed-off-by: Christoph Hellwig <[email protected]>
> >
> > Queued for review and testing, thank you!
> >
> > Do you need this in v5.4? My normal workflow would put it into v5.5.
>
> I hope the riscv-nommu coe gets merges for 5.4, so if we could queue
> it up for that I'd appreciate it.

OK, it did pass rcutorture's various !SMP scenarios, so this seems
plausible.

I am sending my main pull request today, but will also put this patch
where 0day and -next can see it. If it does OK with that and with
additional review/testing for a few days, I will send a second pull
request with that patch some time next week.

Thanx, Paul