<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello Björn, it's David again<div class=""><br class=""></div><div class="">A have a few more doubts concerning power management. I'd like a platform for implementing and comparing the performance of a few energy-aware sched. algs., determining (or rather confirming) which approach fits best a particular scenario. I've read Linux might be a source of unpredictable overheads, so this would have to be accounted for. From an implementation point of view, do you think partitioned/global approaches mix well with racing-to-idle strategies, or could it somehow "break" the work-conserving properties of global scheduling, making the approach practically inconvenient or unmanageable?</div><div class=""><br class=""></div><div class="">Thank you so much for your help. Regards!</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 7, 2016, at 10:42 AM, Björn Brandenburg <<a href="mailto:bbb@mpi-sws.org" class="">bbb@mpi-sws.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote type="cite" class="">On 7 Nov 2016, at 17:32, David Moncada <<a href="mailto:david_moncada@icloud.com" class="">david_moncada@icloud.com</a>> wrote:<br class=""> So, if I understand correctly, currently LITMUS-RT does not include any energy-aware scheduler<br class=""></blockquote><br class="">Correct.<br class=""><br class=""><blockquote type="cite" class="">but, is it possible to extend the already existing schedulers in LITMUS-RT with DVFS and sleep states functionality? <br class=""></blockquote><br class="">Yes, you could certainly do that. <br class=""><br class=""><blockquote type="cite" class="">Or rather one would need to develop energy-aware RT schedulers for LITMUS-RT from scratch?<br class=""></blockquote><br class="">Well, you’ll need to develop the energy-awareness, but you can reuse everything else. Like I said, for P-FP and PSN-EDF this shouldn’t be so hard, but the global cases may be more involved.<br class=""><br class=""><blockquote type="cite" class="">About your comment on CPU hot-plugging, does it mean that LITMUS-RT won't work when turning processors off/on even if the architecture allows sleep states?<br class=""></blockquote><br class="">Yes. The issue is that we don’t handle hotplugging events and that we use for_each_cpu() instead of for_each_online_cpu() in various places. This could be fixed with a moderate amount of work, but somebody needs to volunteer to do it. <br class=""><br class=""><blockquote type="cite" class=""><br class="">Thanks for clearing my doubts, I'm interested in both partitioned and global approaches, so extending the existing schedulers would save some work. Also, it would be nice to have an already tested platform to start working with.<br class=""></blockquote><br class="">Yes, I think LITMUS^RT is a reasonable starting point and certainly much easier than starting from scratch. That said, it’s still a nontrivial challenge, so I’d caution to budget a fair amount of time.<br class=""><br class="">Best regards,<br class="">Björn<br class=""><br class=""><br class="">_______________________________________________<br class="">litmus-dev mailing list<br class=""><a href="mailto:litmus-dev@lists.litmus-rt.org" class="">litmus-dev@lists.litmus-rt.org</a><br class="">https://lists.litmus-rt.org/listinfo/litmus-dev<br class=""></div></div></blockquote></div><br class=""></div></body></html>