public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* error: implicit declaration of function ‘do_softirq’
@ 2013-10-15 16:14 Matthias Dübon
  2013-10-17 12:07 ` Henrik Austad
  0 siblings, 1 reply; 3+ messages in thread
From: Matthias Dübon @ 2013-10-15 16:14 UTC (permalink / raw)
  To: linux-rt-users

Hello everyone,
I am just experimenting with the RT preempt patch
patch-3.10.15-rt11.patch.bz2 and a 3.10.16 kernel for x86 architecture
with a "standard" .config file.
I configured CONFIG_PREEMPT_RT_FULL=y

when building the kernel I got the following error:

"kernel/softirq.c: In function ‘invoke_softirq’:
kernel/softirq.c:710:3: error: implicit declaration of function
‘do_softirq’ [-Werror=implicit-function-declaration]"

Is this related to my kernel configuration?

kind regards,
Matthias
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: error: implicit declaration of function ‘do_softirq’
  2013-10-15 16:14 error: implicit declaration of function ‘do_softirq’ Matthias Dübon
@ 2013-10-17 12:07 ` Henrik Austad
  2013-10-20 17:30   ` Matthias Dübon
  0 siblings, 1 reply; 3+ messages in thread
From: Henrik Austad @ 2013-10-17 12:07 UTC (permalink / raw)
  To: Matthias Dübon; +Cc: linux-rt-users

[-- Attachment #1: Type: text/plain, Size: 1704 bytes --]

On Tue, Oct 15, 2013 at 06:14:01PM +0200, Matthias Dübon wrote:
> Hello everyone,

Hi,

> I am just experimenting with the RT preempt patch
> patch-3.10.15-rt11.patch.bz2 and a 3.10.16 kernel for x86 architecture
> with a "standard" .config file.

Standard as in 'make defconfig' or standard as in 'what my distro uses'?

> I configured CONFIG_PREEMPT_RT_FULL=y
> 
> when building the kernel I got the following error:
> 
> "kernel/softirq.c: In function ‘invoke_softirq’:
> kernel/softirq.c:710:3: error: implicit declaration of function
> ‘do_softirq’ [-Werror=implicit-function-declaration]"
> 
> Is this related to my kernel configuration?

Not easy to say without the actual .config.

However, I did note one thing. You are using the preempt-rt patch for 
3.10.15 and you apply it to 3.10.16 (or was that a typo?)

When I try to do the same thing; lo and behold, I get a reject in 
kernel/softirq.c.

$ cat kernel/softirq.c.rej 
--- kernel/softirq.c
+++ kernel/softirq.c
@@ -698,10 +1066,20 @@
 
 static inline void invoke_softirq(void)
 {
+#ifndef CONFIG_PREEMPT_RT_FULL
        if (!force_irqthreads)
                __do_softirq();
        else
                wakeup_softirqd();
+#else /* PREEMPT_RT_FULL */
+       unsigned long flags;
+
+       local_irq_save(flags);
+       if (__this_cpu_read(ksoftirqd) &&
+           __this_cpu_read(ksoftirqd)->softirqs_raised)
+               wakeup_softirqd();
+       local_irq_restore(flags);
+#endif
 }
 
 static inline void tick_irq_exit(void)


Do you see anything suspicious here? :)

Try to use v3.10.15 and recompile. I think that'll work a bit better.


-- 
Henrik Austad

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: error: implicit declaration of function ‘do_softirq’
  2013-10-17 12:07 ` Henrik Austad
@ 2013-10-20 17:30   ` Matthias Dübon
  0 siblings, 0 replies; 3+ messages in thread
From: Matthias Dübon @ 2013-10-20 17:30 UTC (permalink / raw)
  To: Henrik Austad; +Cc: linux-rt-users

Hello Henrik,

thanks for your help, you are completely right. (I should be less
sloppy when patching something I don't understand ;-) )

best regards,

Matthias Dübon

On Thu, Oct 17, 2013 at 2:07 PM, Henrik Austad <henrik@austad.us> wrote:
> On Tue, Oct 15, 2013 at 06:14:01PM +0200, Matthias Dübon wrote:
>> Hello everyone,
>
> Hi,
>
>> I am just experimenting with the RT preempt patch
>> patch-3.10.15-rt11.patch.bz2 and a 3.10.16 kernel for x86 architecture
>> with a "standard" .config file.
>
> Standard as in 'make defconfig' or standard as in 'what my distro uses'?
>
>> I configured CONFIG_PREEMPT_RT_FULL=y
>>
>> when building the kernel I got the following error:
>>
>> "kernel/softirq.c: In function ‘invoke_softirq’:
>> kernel/softirq.c:710:3: error: implicit declaration of function
>> ‘do_softirq’ [-Werror=implicit-function-declaration]"
>>
>> Is this related to my kernel configuration?
>
> Not easy to say without the actual .config.
>
> However, I did note one thing. You are using the preempt-rt patch for
> 3.10.15 and you apply it to 3.10.16 (or was that a typo?)
>
> When I try to do the same thing; lo and behold, I get a reject in
> kernel/softirq.c.
>
> $ cat kernel/softirq.c.rej
> --- kernel/softirq.c
> +++ kernel/softirq.c
> @@ -698,10 +1066,20 @@
>
>  static inline void invoke_softirq(void)
>  {
> +#ifndef CONFIG_PREEMPT_RT_FULL
>         if (!force_irqthreads)
>                 __do_softirq();
>         else
>                 wakeup_softirqd();
> +#else /* PREEMPT_RT_FULL */
> +       unsigned long flags;
> +
> +       local_irq_save(flags);
> +       if (__this_cpu_read(ksoftirqd) &&
> +           __this_cpu_read(ksoftirqd)->softirqs_raised)
> +               wakeup_softirqd();
> +       local_irq_restore(flags);
> +#endif
>  }
>
>  static inline void tick_irq_exit(void)
>
>
> Do you see anything suspicious here? :)
>
> Try to use v3.10.15 and recompile. I think that'll work a bit better.
>
>
> --
> Henrik Austad
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-20 17:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-15 16:14 error: implicit declaration of function ‘do_softirq’ Matthias Dübon
2013-10-17 12:07 ` Henrik Austad
2013-10-20 17:30   ` Matthias Dübon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox