{"push_id":3128447883,"size":1,"distinct_size":1,"ref":"refs/heads/dev/bs_init","head":"6ebf70e7e54d4ab18c2c39b5d16a17ab245b7c9c","before":"1648e34f931605f4bca2e41de3a009d9c3cf525e","commits":[{"sha":"6ebf70e7e54d4ab18c2c39b5d16a17ab245b7c9c","author":{"name":"Sultan Alsawaf","email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com"},"message":"kernel: Add API to mark IRQs and kthreads as performance critical\n\nOn devices with a CPU that contains heterogeneous cores (e.g., big.LITTLE),\nit can be beneficial to place some performance-critical IRQs and kthreads\nonto the performance CPU cluster in order to improve performance.\n\nThis commit adds the following APIs:\n-kthread_run_perf_critical() to create and start a perf-critical kthread\n-IRQF_PERF_CRITICAL to schedule an IRQ and any threads it may have onto\n performance CPUs\n-PF_PERF_CRITICAL to mark a process (mainly kthread) as performance\n critical (this is used by kthread_run_perf_critical())\n\nIn order to accomodate this new API, the following changes are made:\n-Performance-critical IRQs have their affinities reaffined upon exit from\n suspend (since the affinities are broken when non-boot CPUs are disabled)\n-Performance-critical IRQs and their threads have their affinities reset\n upon entering suspend, so that upon immediate suspend exit (when only the\n boot CPU is online), interrupts can be processed and interrupt threads\n can be scheduled onto an online CPU (otherwise we'd hit a kernel BUG)\n-Global cpu_lp_mask and cpu_perf_mask symbols are added to provide\n a cpumask of low-power and performance CPUs, respectively. This is\n set to the big.LITTLE layout used on msm8998 by default.\n-do_set_cpus_allowed() and __set_cpus_allowed_ptr() are modified to enforce\n a performance-critical kthread's affinity\n-Mark perf-critical IRQs with IRQD_AFFINITY_MANAGED so userspace can't mess\n with their affinity\n\nSigned-off-by: Sultan Alsawaf <sultanxda@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Camvar97/bskernel/commits/6ebf70e7e54d4ab18c2c39b5d16a17ab245b7c9c"}]}
{"actor":{"display_login":"Camvar97"}}