Hi Richi, I have a question about: "scenario where all the nodes that we go through have a higher priority (less priority number) than our filter_node(the node to schedule) in which case, we would be returning ret: the minimum priority node encountered but there would be no preemptions and filter_node would remain unassigned"
In this case, shouldn't the filter_node remain unscheduled? On Thu, Aug 6, 2020 at 9:19 AM Richi Dubey <richidu...@gmail.com> wrote: > > The part 3 corresponding to the backtracking changes the filter_node pointer > (the original node pointer passed to the function) and calls the > Scheduler_SMP_Preempt, all of which is documented in the blog post. I feel > like this might mean that the file is taking a higher-level role that it is > supposed to and I cannot progress further without your views on this. > I understand the backtracking aims to follow the bipartite graph backward, pushing tasks to cpus that were traversed. so one way to achieve this is like you are trying, maintain a queue of the traversed tasks/cpus, and just walk them both in reverse order (LIFO) offset by one. Thinking like a stack, it is kind of like.... while (!done): c = pop(qCPU) assign(c, t) t = pop(qTasks) suspend(t) assign(cpu_to_preempt, new_task) I don't see why it is necessary for you to be checking the priority values on the backtrack path. You should build these LIFO queues in such a way that they are correctly ordered. At this point, you might want to see if you can find an implementation of this algorithm (in LitmusRT or Linux) to gain some insights. Gedare > > On Thu, Aug 6, 2020 at 8:45 PM Richi Dubey <richidu...@gmail.com> wrote: >> >> Hi, >> >> Please find the blog post- >> https://rtemswithrichi.wordpress.com/strong-apa-low-level-design-in-rtems/ >> that explains the low-level design for get_lowest_function, importance of >> which was explained in the earlier high-level design description mail. >> >> I really need your help in figuring out part 3 of the explanation >> corresponding to backtracking part of the algorithm in the blog post. >> >> If it helps, Please find the latest pull request here and the edited files >> schedulerstrongapa.c, schedulerstrongapa.h and scheduler.h. >> >> Thanks! >> Richi. > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel