* [PATCH 0/1] sched: fix typo in sched-rt-group.txt file
@ 2009-05-20 1:39 GeunSik Lim
2009-05-20 4:50 ` GeunSik Lim
0 siblings, 1 reply; 4+ messages in thread
From: GeunSik Lim @ 2009-05-20 1:39 UTC (permalink / raw)
To: Ingo Molnar
Cc: Peter Zijlstra, Steven Rostedt, tglx, linux-kernel, linux-rt-users
[-- Attachment #1: Type: text/plain, Size: 2353 bytes --]
Dear Ingo,
I made 2 patch files again about static prioriy levels according to ingo's advice
and explanation. (Reference: http://marc.info/?t=124211992800003&r=1&w=2 archives. )
Fix static priority related range and chart map(userspace/kernelspace) of ftrace.
- about chart map of static priority in ftrace.txt file
- about static priority levels(range) in sched-rt-group.txt file
commit d6af702008117ca489a2f5476239d1688a517e98
Author: GeunSik,Lim <leemgs1@gmail.com>
Date: Tue May 12 17:20:32 2009 +0900
sched: fix typo in sched-rt-group.txt file
Fix typo about static priority's range.
* Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low)
* Kernel Space priority 100(high) to 139(low)--> User Space nice -20(high) to 19(low)
Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned
the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR
can have a static priority in the range 1 to 99.
(reference: $> man 2 sched_setscheduler)
Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com>
diff --git a/Documentation/scheduler/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt
index 5ba4d3f..1537146 100644
--- a/Documentation/scheduler/sched-rt-group.txt
+++ b/Documentation/scheduler/sched-rt-group.txt
@@ -169,7 +169,7 @@ get their allocated time.
Implementing SCHED_EDF might take a while to complete. Priority Inheritance is
the biggest challenge as the current linux PI infrastructure is geared towards
-the limited static priority levels 0-139. With deadline scheduling you need to
+the limited static priority levels 0-99. With deadline scheduling you need to
do deadline inheritance (since priority is inversely proportional to the
deadline delta (deadline - now).
-----------------------------------------------
To unsubscribe from this list: send the line "unsubscribe linux-***"
in the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
GeunSik Lim (ELS - OS Group - S/W Lab - SAIT - SAMSUNG)
e-Mail :1) geunsik.lim@samsung.com
2) leemgs@gmail.com , leemgs1@gmail.com
HomePage: http://intomail.dnip.net/invain/me/
-----------------------------------------------
[-- Attachment #2: fix-typo-static-priority-levels-sched-rt-group.patch --]
[-- Type: text/x-patch, Size: 1429 bytes --]
commit d6af702008117ca489a2f5476239d1688a517e98
Author: GeunSik,Lim <leemgs1@gmail.com>
Date: Tue May 12 17:20:32 2009 +0900
sched: fix typo in sched-rt-group.txt file
Fix typo about static priority's range.
* Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low)
* Kernel Space priority 100(high) to 139(low)--> User Space nice -20(high) to 19(low)
Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned
the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR
can have a static priority in the range 1 to 99.
(reference: $> man 2 sched_setscheduler)
Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com>
diff --git a/Documentation/scheduler/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt
index 5ba4d3f..1537146 100644
--- a/Documentation/scheduler/sched-rt-group.txt
+++ b/Documentation/scheduler/sched-rt-group.txt
@@ -169,7 +169,7 @@ get their allocated time.
Implementing SCHED_EDF might take a while to complete. Priority Inheritance is
the biggest challenge as the current linux PI infrastructure is geared towards
-the limited static priority levels 0-139. With deadline scheduling you need to
+the limited static priority levels 0-99. With deadline scheduling you need to
do deadline inheritance (since priority is inversely proportional to the
deadline delta (deadline - now).
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 0/1] sched: fix typo in sched-rt-group.txt file 2009-05-20 1:39 [PATCH 0/1] sched: fix typo in sched-rt-group.txt file GeunSik Lim @ 2009-05-20 4:50 ` GeunSik Lim 2009-05-20 18:59 ` Steven Rostedt 0 siblings, 1 reply; 4+ messages in thread From: GeunSik Lim @ 2009-05-20 4:50 UTC (permalink / raw) To: Ingo Molnar Cc: Peter Zijlstra, Steven Rostedt, tglx, linux-kernel, linux-rt-users 2009/5/20 GeunSik Lim <leemgs1@gmail.com>: > > > Dear Ingo, > > > I made 2 patch files again about static prioriy levels according to ingo's advice > and explanation. (Reference: http://marc.info/?t=124211992800003&r=1&w=2 archives. ) > > Fix static priority related range and chart map(userspace/kernelspace) of ftrace. > - about chart map of static priority in ftrace.txt file > - about static priority levels(range) in sched-rt-group.txt file > > > commit d6af702008117ca489a2f5476239d1688a517e98 > Author: GeunSik,Lim <leemgs1@gmail.com> > Date: Tue May 12 17:20:32 2009 +0900 > > sched: fix typo in sched-rt-group.txt file > > Fix typo about static priority's range. > > * Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low) > * Kernel Space priority 100(high) to 139(low)--> User Space nice -20(high) to 19(low) > Ingo, I want to change some descriptions according to below discussion. before) * Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low) after) * Kernel Space priority 0(high) to 98(low) --> User Space RT priority 99(high) to 1(low) I want to your advice and opinion about this changes. If I mistook, Please correct me. thks. Steven Rostedt: Shouldn't that be: Kernel priority: 0(high) to 98(low) ==> user RT priority 99(high) to 1(low) GeunSik Lim : Thank you for your opinion. I think about corrected expression for quick chart to map between kernel space and user space in ftrace . Steven Rostedt: 100 items does not map to 99. Which begs the question, what can have internal kernel priority 99? GeunSik Lim : ok. Below example is about kernel (static) priority 99 that you said. please, refer to http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html webpage. For processes scheduled under one of the normal scheduling policies (SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used in scheduling decisions (it must be specified as 0). int main (int argc, char **argv) { int pidnumber, ret; struct sched_param p; p.sched_priority = 0; <------ Kernel (static) priority. if (argc != 2) { printf("usage: setbatch <pid>\n"); exit(-1); } pidnumber = atol(argv[1]); /* 3 = Number of SCHED_BATCH Constant */ ret = sched_setscheduler(pidnumber, 3, &p); if (ret) { printf("could not set pid %d to SCHED_BATCH: err %d.\n", pid, ret); return -1; } printf("pid %d is SCHED_BATCH from now on.\n", pid); return 0; } > > Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned > the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR > can have a static priority in the range 1 to 99. > (reference: $> man 2 sched_setscheduler) > > Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com> > > diff --git a/Documentation/scheduler/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt > index 5ba4d3f..1537146 100644 > --- a/Documentation/scheduler/sched-rt-group.txt > +++ b/Documentation/scheduler/sched-rt-group.txt > @@ -169,7 +169,7 @@ get their allocated time. > > Implementing SCHED_EDF might take a while to complete. Priority Inheritance is > the biggest challenge as the current linux PI infrastructure is geared towards > -the limited static priority levels 0-139. With deadline scheduling you need to > +the limited static priority levels 0-99. With deadline scheduling you need to > do deadline inheritance (since priority is inversely proportional to the > deadline delta (deadline - now). > > > > > ----------------------------------------------- > To unsubscribe from this list: send the line "unsubscribe linux-***" > in the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > GeunSik Lim (ELS - OS Group - S/W Lab - SAIT - SAMSUNG) > e-Mail :1) geunsik.lim@samsung.com > 2) leemgs@gmail.com , leemgs1@gmail.com > HomePage: http://intomail.dnip.net/invain/me/ > ----------------------------------------------- > -- Regards, GeunSik Lim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/1] sched: fix typo in sched-rt-group.txt file 2009-05-20 4:50 ` GeunSik Lim @ 2009-05-20 18:59 ` Steven Rostedt 2009-05-21 1:47 ` GeunSik Lim 0 siblings, 1 reply; 4+ messages in thread From: Steven Rostedt @ 2009-05-20 18:59 UTC (permalink / raw) To: GeunSik Lim Cc: Ingo Molnar, Peter Zijlstra, tglx, linux-kernel, linux-rt-users [-- Attachment #1: Type: TEXT/PLAIN, Size: 4978 bytes --] On Wed, 20 May 2009, GeunSik Lim wrote: > 2009/5/20 GeunSik Lim <leemgs1@gmail.com>: > > > > > > Dear Ingo, > > > > > > I made 2 patch files again about static prioriy levels according to ingo's advice > > and explanation. (Reference: http://marc.info/?t=124211992800003&r=1&w=2 archives. ) > > > > Fix static priority related range and chart map(userspace/kernelspace) of ftrace. > > - about chart map of static priority in ftrace.txt file > > - about static priority levels(range) in sched-rt-group.txt file > > > > > > commit d6af702008117ca489a2f5476239d1688a517e98 > > Author: GeunSik,Lim <leemgs1@gmail.com> > > Date: Tue May 12 17:20:32 2009 +0900 > > > > sched: fix typo in sched-rt-group.txt file > > > > Fix typo about static priority's range. > > > > * Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low) > > * Kernel Space priority 100(high) to 139(low)--> User Space nice -20(high) to 19(low) > > > > Ingo, > I want to change some descriptions according to below discussion. > > before) * Kernel Space priority 0(high) to 99(low) --> User Space RT > priority 99(high) to 1(low) > after) * Kernel Space priority 0(high) to 98(low) --> User Space > RT priority 99(high) to 1(low) > > I want to your advice and opinion about this changes. > > If I mistook, Please correct me. > > thks. > > > > Steven Rostedt: > Shouldn't that be: > Kernel priority: 0(high) to 98(low) ==> user RT priority 99(high) to 1(low) > > GeunSik Lim : > Thank you for your opinion. I think about corrected expression for > quick chart to map between kernel space and user space in ftrace . > > Steven Rostedt: > 100 items does not map to 99. Which begs the question, what can have > internal kernel priority 99? > > GeunSik Lim : > ok. Below example is about kernel (static) priority 99 that you said. > please, refer > to http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html > webpage. > > For processes scheduled under one of the normal scheduling policies > (SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used in > scheduling decisions (it must be specified as 0). > > int main (int argc, char **argv) > { int pidnumber, ret; > struct sched_param p; > p.sched_priority = 0; <------ Kernel (static) priority. > if (argc != 2) { > printf("usage: setbatch <pid>\n"); > exit(-1); > } > pidnumber = atol(argv[1]); > /* 3 = Number of SCHED_BATCH Constant */ > ret = sched_setscheduler(pidnumber, 3, &p); > if (ret) { > printf("could not set pid %d to SCHED_BATCH: err %d.\n", pid, ret); > return -1; > } > printf("pid %d is SCHED_BATCH from now on.\n", pid); > return 0; > } > > > > > > Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned > > the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR > > can have a static priority in the range 1 to 99. > > (reference: $> man 2 sched_setscheduler) > > > > Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com> > > > > diff --git a/Documentation/scheduler/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt > > index 5ba4d3f..1537146 100644 > > --- a/Documentation/scheduler/sched-rt-group.txt > > +++ b/Documentation/scheduler/sched-rt-group.txt > > @@ -169,7 +169,7 @@ get their allocated time. > > > > Implementing SCHED_EDF might take a while to complete. Priority Inheritance is > > the biggest challenge as the current linux PI infrastructure is geared towards > > -the limited static priority levels 0-139. With deadline scheduling you need to > > +the limited static priority levels 0-99. With deadline scheduling you need to > > do deadline inheritance (since priority is inversely proportional to the > > deadline delta (deadline - now). Note, this document deals with internal kernel manipulations. The "prio" inside the kernel is indeed 0-139. Actually, if we count the idle task, it is 0-140. The PI code will also deal with non RT tasks so it is correct to say that the priority inheritance deals with 0-139 (I don't think the idle task ever touches anything needing PI). The sched_setscheduler user API uses a different priority mapping. I was looking at the code inside sched.c and I believe this is the mapping: 0 to 98 - maps to RT tasks 99 to 1 (SCHED_RR or SCHED_FIFO) 99 - maps to internal kernel threads that want to be lower than RT tasks but higher than SCHED_OTHER tasks. Although I'm not sure if any kernel thread actually uses this. I'm not even sure how this can be set, because the internal sched_setscheduler function does not allow for it. 100 to 139 - maps nice levels -20 to 19. These are not set via sched_setscheduler, but are set via the nice system call. 140 - reserved for idle tasks. -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/1] sched: fix typo in sched-rt-group.txt file 2009-05-20 18:59 ` Steven Rostedt @ 2009-05-21 1:47 ` GeunSik Lim 0 siblings, 0 replies; 4+ messages in thread From: GeunSik Lim @ 2009-05-21 1:47 UTC (permalink / raw) To: Steven Rostedt Cc: Ingo Molnar, Peter Zijlstra, tglx, linux-kernel, linux-rt-users On Thu, May 21, 2009 at 3:59 AM, Steven Rostedt <rostedt@goodmis.org> wrote: > > On Wed, 20 May 2009, GeunSik Lim wrote: > >> 2009/5/20 GeunSik Lim <leemgs1@gmail.com>: >> > >> > >> > Dear Ingo, >> > >> > >> > I made 2 patch files again about static prioriy levels according to ingo's advice >> > and explanation. (Reference: http://marc.info/?t=124211992800003&r=1&w=2 archives. ) >> > >> > Fix static priority related range and chart map(userspace/kernelspace) of ftrace. >> > - about chart map of static priority in ftrace.txt file >> > - about static priority levels(range) in sched-rt-group.txt file >> > >> > >> > commit d6af702008117ca489a2f5476239d1688a517e98 >> > Author: GeunSik,Lim <leemgs1@gmail.com> >> > Date: Tue May 12 17:20:32 2009 +0900 >> > >> > sched: fix typo in sched-rt-group.txt file >> > >> > Fix typo about static priority's range. >> > >> > * Kernel Space priority 0(high) to 99(low) --> User Space RT priority 99(high) to 1(low) >> > * Kernel Space priority 100(high) to 139(low)--> User Space nice -20(high) to 19(low) >> > >> >> Ingo, >> I want to change some descriptions according to below discussion. >> >> before) * Kernel Space priority 0(high) to 99(low) --> User Space RT >> priority 99(high) to 1(low) >> after) * Kernel Space priority 0(high) to 98(low) --> User Space >> RT priority 99(high) to 1(low) >> >> I want to your advice and opinion about this changes. >> >> If I mistook, Please correct me. >> >> thks. >> >> >> >> Steven Rostedt: >> Shouldn't that be: >> Kernel priority: 0(high) to 98(low) ==> user RT priority 99(high) to 1(low) >> >> GeunSik Lim : >> Thank you for your opinion. I think about corrected expression for >> quick chart to map between kernel space and user space in ftrace . >> >> Steven Rostedt: >> 100 items does not map to 99. Which begs the question, what can have >> internal kernel priority 99? >> >> GeunSik Lim : >> ok. Below example is about kernel (static) priority 99 that you said. >> please, refer >> to http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html >> webpage. >> >> For processes scheduled under one of the normal scheduling policies >> (SCHED_OTHER, SCHED_IDLE, SCHED_BATCH), sched_priority is not used in >> scheduling decisions (it must be specified as 0). >> >> int main (int argc, char **argv) >> { int pidnumber, ret; >> struct sched_param p; >> p.sched_priority = 0; <------ Kernel (static) priority. >> if (argc != 2) { >> printf("usage: setbatch <pid>\n"); >> exit(-1); >> } >> pidnumber = atol(argv[1]); >> /* 3 = Number of SCHED_BATCH Constant */ >> ret = sched_setscheduler(pidnumber, 3, &p); >> if (ret) { >> printf("could not set pid %d to SCHED_BATCH: err %d.\n", pid, ret); >> return -1; >> } >> printf("pid %d is SCHED_BATCH from now on.\n", pid); >> return 0; >> } >> >> >> > >> > Processes scheduled with SCHED_OTHER or SCHED_BATCH must be assigned >> > the static priority 0. Processes scheduled under SCHED_FIFO or SCHED_RR >> > can have a static priority in the range 1 to 99. >> > (reference: $> man 2 sched_setscheduler) >> > >> > Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com> >> > >> > diff --git a/Documentation/scheduler/sched-rt-group.txt b/Documentation/scheduler/sched-rt-group.txt >> > index 5ba4d3f..1537146 100644 >> > --- a/Documentation/scheduler/sched-rt-group.txt >> > +++ b/Documentation/scheduler/sched-rt-group.txt >> > @@ -169,7 +169,7 @@ get their allocated time. >> > >> > Implementing SCHED_EDF might take a while to complete. Priority Inheritance is >> > the biggest challenge as the current linux PI infrastructure is geared towards >> > -the limited static priority levels 0-139. With deadline scheduling you need to >> > +the limited static priority levels 0-99. With deadline scheduling you need to >> > do deadline inheritance (since priority is inversely proportional to the >> > deadline delta (deadline - now). > > Note, this document deals with internal kernel manipulations. The "prio" > inside the kernel is indeed 0-139. Actually, if we count the idle task, it > is 0-140. The PI code will also deal with non RT tasks so it is correct to > say that the priority inheritance deals with 0-139 (I don't think the idle > task ever touches anything needing PI). > > The sched_setscheduler user API uses a different priority mapping. I was > looking at the code inside sched.c and I believe this is the mapping: > > > 0 to 98 - maps to RT tasks 99 to 1 (SCHED_RR or SCHED_FIFO) > > 99 - maps to internal kernel threads that want to be lower than RT tasks > but higher than SCHED_OTHER tasks. Although I'm not sure if any > kernel thread actually uses this. I'm not even sure how this can be > set, because the internal sched_setscheduler function does not allow > for it. Thank you for additional explanation about kernel-space static priority 99 in the map of priority values between kernel-space and user-space. I will update like belows. Kernel priority: 0(high) to 98(low) ==> user RT priority 99(high) to 1(low) with SCHED_RR or SCHED_FIFO Kernel priority: 99 ==> sched_priority is not used in scheduling deci sions (it must be specified as 0) Kernel priority: 100(high) to 139(low) ==> user nice -20(high) to 19(low) Kernel priority: 140 ==> idle task priority > > 100 to 139 - maps nice levels -20 to 19. These are not set via > sched_setscheduler, but are set via the nice system call. > > 140 - reserved for idle tasks. > > -- Steve > -- Regards, GeunSik Lim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-05-21 1:47 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-05-20 1:39 [PATCH 0/1] sched: fix typo in sched-rt-group.txt file GeunSik Lim 2009-05-20 4:50 ` GeunSik Lim 2009-05-20 18:59 ` Steven Rostedt 2009-05-21 1:47 ` GeunSik Lim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®