-
Notifications
You must be signed in to change notification settings - Fork 5.3k
softirq: Fix compiling errors when choosing schedule policies other than Fully Preemptible #3202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: rpi-4.14.y-rt
Are you sure you want to change the base?
Conversation
…n Fully Preemptible struct tasklet_hrtimer has to be declared, and function ksoftirqd_running to be implemented, according to code from original kernel.
|
Can you explain why you would build no-rt kernels from a -rt branch? |
|
In fact, I am observing the effect of scheduling policies to xenomai/ipipe, which is a real-time kernel extension.
Xenomai is a in-kernel module which can handle interrupts captured by ipipe, in spite of other part of the kernel.
As the rt patch enhanced real-time capability of the linux infrastructures, will it enhance the real-time capability of Xenomai, which is built on the base of Linux kernel ?
But when I came to test the schedule policies of rpi-4.14.y-rt branch, even the basic rt schedule policy, I find it could not compile, so I tried to correct them.
What's more, I find if I directly apply the original rt patch patch-4.14.115-rt59 to branch rpi-4.14.y, which is 4.14.114,
the result is even better than the original branch of rpi-4.14.y-rt, at least it can be compiled and can boot, except stop after lan78xx init.
Shall I try to pull a new rpi-4.14.y-rt-try branch of applying patch-4.14.115-rt59 directly to branch rpi-4.14.y?
…------------------ Original ------------------
From: "Phil Elwell"<[email protected]>;
Date: Tue, Sep 3, 2019 05:04 PM
To: "raspberrypi/linux"<[email protected]>;
Cc: "Gao Long"<[email protected]>; "Author"<[email protected]>;
Subject: Re: [raspberrypi/linux] softirq: Fix compiling errors when choosing schedule policies other than Fully Preemptible (#3202)
Can you explain why you would build no-rt kernels from a -rt branch?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
Which kernel config options enable this "ipipe" support (or which files does it involve)? |
you have to apply the ipipe patch |
with some certain net and display load, the cyclictest results on raspbery 3 show latency decrease alone with the schedule policies: Server(410 us max) Desktop(357 us max) Low Latency Desktop(342 us max), that is why I guess it could get even little if I use basic rt and full rt. |
here they are: |
|
I don't know much about the '-rt' world, we just host the branches for the community. I think it's unlikely @TiejunChina or one of the other RT experts would object to your patch, but I'll leave it to them to decide. |
|
@imgaolong You are supposed to compile everything even in -rt branch. But definitely you cannot take over this right there since you're changing the common codes. They are not specific to rpi codes. Typically, if something is wrong in common place, you should go rt upstream branch instead of rpi-rt. In terms of some softirq codes, I recall that was caused one commit to refactor softirq in rpi-4.14.y, so rpi-4.14.y-rt followed that commit as well. But as I discussed with @pelwell we don't maintain rpi-4.14.y-rt since we have rpi-4.19.y-rt now. @pelwell Do we need to remove rpi-4.14.y-rt? |
|
We tend not to delete any code, and we apply patches to long-term-stable branches as they appear, but 4.19 is the active branch at the moment so unless the patch is a bug fix (and that's questionable) it probably shouldn't appear here. |
actually,I pull request another branch of 4.14.y-114 in branch 4.14.y patched with 4.14.115 rt-patch, instead of 4.14.91 in branch rpi-4.14.y-rt
In fact, I have pulled another branch of rpi-4.14.y-rt-114(rt:patched with rt patch 4.14.115 on 4.14.114 #3217), which is based on the kernel of 4.14.114 of branch rpi-4.14.y.As the rpi-4.14.y-rt branch is based on the 4.14.91, and have compiling errors when choosing basic rt schedule policy, how about switching to rpi-4.14.y-rt-144 instead of rpi-4.14.y-rt? |
if choose no-rt schedule policies other than fully preemptible, such as Low Latency Desktop, the kernel will NOT compile. Define struct tasklet_hrtimer and function ksoftirqd_running to avoid compiling errors.