Skip to content

Conversation

@imgaolong
Copy link

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.

…n Fully Preemptible

struct tasklet_hrtimer has to be declared, and function ksoftirqd_running to be implemented, according to code from original kernel.
@pelwell
Copy link
Contributor

pelwell commented Sep 3, 2019

Can you explain why you would build no-rt kernels from a -rt branch?

@imgaolong
Copy link
Author

imgaolong commented Sep 3, 2019 via email

@pelwell
Copy link
Contributor

pelwell commented Sep 3, 2019

Which kernel config options enable this "ipipe" support (or which files does it involve)?

@imgaolong
Copy link
Author

Which kernel config options enable this "ipipe" support (or which files does it involve)?

you have to apply the ipipe patch

@imgaolong
Copy link
Author

Can you explain why you would build no-rt kernels from a -rt branch?

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.

@imgaolong
Copy link
Author

Which kernel config options enable this "ipipe" support (or which files does it involve)?

here they are:
https://xenomai.org/
https://xenomai.org/downloads/ipipe/v4.x/

@pelwell
Copy link
Contributor

pelwell commented Sep 3, 2019

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.

@TiejunChina
Copy link

@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?

@pelwell
Copy link
Contributor

pelwell commented Sep 12, 2019

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.

@imgaolong
Copy link
Author

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

@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?

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants