<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a4103eac - sched_ext: Add a cgroup scheduler which uses flattened hierarchy</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/sched_ext/Makefile#a4103eac</link>
        <description>sched_ext: Add a cgroup scheduler which uses flattened hierarchyThis patch adds scx_flatcg example scheduler which implements hierarchicalweight-based cgroup CPU control by flattening the cgroup hierarchy into asingle layer by compounding the active weight share at each level.This flattening of hierarchy can bring a substantial performance gain whenthe cgroup hierarchy is nested multiple levels. in a simple benchmark usingwrk[8] on apache serving a CGI script calculating sha1sum of a small file,it outperforms CFS by ~3% with CPU controller disabled and by ~10% with twoapache instances competing with 2:1 weight ratio nested four level deep.However, the gain comes at the cost of not being able to properly handlethundering herd of cgroups. For example, if many cgroups which are nestedbehind a low priority parent cgroup wake up around the same time, they maybe able to consume more CPU cycles than they are entitled to. In many usecases, this isn&apos;t a real concern especially given the performance gain.Also, there are ways to mitigate the problem further by e.g. introducing anextra scheduling layer on cgroup delegation boundaries.v5: - Updated to specify SCX_OPS_HAS_CGROUP_WEIGHT instead of      SCX_OPS_KNOB_CGROUP_WEIGHT.v4: - Revert reference counted kptr for cgv_node as the change caused easily      reproducible stalls.v3: - Updated to reflect the core API changes including ops.init/exit_task()      and direct dispatch from ops.select_cpu(). Fixes and improvements      including additional statistics.    - Use reference counted kptr for cgv_node instead of xchg&apos;ing against      stash location.    - Dropped &apos;-p&apos; option.v2: - Use SCX_BUG[_ON]() to simplify error handling.Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Reviewed-by: David Vernet &lt;dvernet@meta.com&gt;Acked-by: Josh Don &lt;joshdon@google.com&gt;Acked-by: Hao Luo &lt;haoluo@google.com&gt;Acked-by: Barret Rhoden &lt;brho@google.com&gt;

            List of files:
            /linux-6.15/tools/sched_ext/Makefile</description>
        <pubDate>Wed, 04 Sep 2024 20:24:59 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>037df2a3 - sched_ext: Add a central scheduler which makes all scheduling decisions on one CPU</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/sched_ext/Makefile#037df2a3</link>
        <description>sched_ext: Add a central scheduler which makes all scheduling decisions on one CPUThis patch adds a new example scheduler, scx_central, which demonstratescentral scheduling where one CPU is responsible for making all schedulingdecisions in the system using scx_bpf_kick_cpu(). The central CPU makesscheduling decisions for all CPUs in the system, queues tasks on theappropriate local dsq&apos;s and preempts the worker CPUs. The worker CPUs inturn preempt the central CPU when it needs tasks to run.Currently, every CPU depends on its own tick to expire the current task. Afollow-up patch implementing tickless support for sched_ext will allow theworker CPUs to go full tickless so that they can run completely undisturbed.v3: - Kumar fixed a bug where the dispatch path could overflow the dispatch      buffer if too many are dispatched to the fallback DSQ.    - Use the new SCX_KICK_IDLE to wake up non-central CPUs.    - Dropped &apos;-p&apos; option.v2: - Use RESIZABLE_ARRAY() instead of fixed MAX_CPUS and use SCX_BUG[_ON]()      to simplify error handling.Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Reviewed-by: David Vernet &lt;dvernet@meta.com&gt;Acked-by: Josh Don &lt;joshdon@google.com&gt;Acked-by: Hao Luo &lt;haoluo@google.com&gt;Acked-by: Barret Rhoden &lt;brho@google.com&gt;Cc: Kumar Kartikeya Dwivedi &lt;memxor@gmail.com&gt;Cc: Julia Lawall &lt;julia.lawall@inria.fr&gt;

            List of files:
            /linux-6.15/tools/sched_ext/Makefile</description>
        <pubDate>Tue, 18 Jun 2024 20:09:19 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2a52ca7c - sched_ext: Add scx_simple and scx_example_qmap example schedulers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/sched_ext/Makefile#2a52ca7c</link>
        <description>sched_ext: Add scx_simple and scx_example_qmap example schedulersAdd two simple example BPF schedulers - simple and qmap.* simple: In terms of scheduling, it behaves identical to not having any  operation implemented at all. The two operations it implements are only to  improve visibility and exit handling. On certain homogeneous  configurations, this actually can perform pretty well.* qmap: A fixed five level priority scheduler to demonstrate queueing PIDs  on BPF maps for scheduling. While not very practical, this is useful as a  simple example and will be used to demonstrate different features.v7: - Compat helpers stripped out in prepartion of upstreaming as the      upstreamed patchset will be the baselinfe. Utility macros that can be      used to implement compat features are kept.    - Explicitly disable map autoattach on struct_ops to avoid trying to      attach twice while maintaining compatbility with older libbpf.v6: - Common header files reorganized and cleaned up. Compat helpers are      added to demonstrate how schedulers can maintain backward      compatibility with older kernels while making use of newly added      features.    - simple_select_cpu() added to keep track of the number of local      dispatches. This is needed because the default ops.select_cpu()      implementation is updated to dispatch directly and won&apos;t call      ops.enqueue().    - Updated to reflect the sched_ext API changes. Switching all tasks is      the default behavior now and scx_qmap supports partial switching when      `-p` is specified.    - tools/sched_ext/Kconfig dropped. This will be included in the doc      instead.v5: - Improve Makefile. Build artifects are now collected into a separate      dir which change be changed. Install and help targets are added and      clean actually cleans everything.    - MEMBER_VPTR() improved to improve access to structs. ARRAY_ELEM_PTR()      and RESIZEABLE_ARRAY() are added to support resizable arrays in .bss.    - Add scx_common.h which provides common utilities to user code such as      SCX_BUG[_ON]() and RESIZE_ARRAY().    - Use SCX_BUG[_ON]() to simplify error handling.v4: - Dropped _example prefix from scheduler names.v3: - Rename scx_example_dummy to scx_example_simple and restructure a bit      to ease later additions. Comment updates.    - Added declarations for BPF inline iterators. In the future, hopefully,      these will be consolidated into a generic BPF header so that they      don&apos;t need to be replicated here.v2: - Updated with the generic BPF cpumask helpers.Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Reviewed-by: David Vernet &lt;dvernet@meta.com&gt;Acked-by: Josh Don &lt;joshdon@google.com&gt;Acked-by: Hao Luo &lt;haoluo@google.com&gt;Acked-by: Barret Rhoden &lt;brho@google.com&gt;

            List of files:
            /linux-6.15/tools/sched_ext/Makefile</description>
        <pubDate>Tue, 18 Jun 2024 20:09:17 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
