On Mon, 13 Jan 2025, Suzuki K Poulose wrote: > On 10/01/2025 21:32, Ilkka Koskinen wrote: >> >> Hi Suzuko, >> >> On Fri, 10 Jan 2025, Suzuki K Poulose wrote: >>> On 09/01/2025 21:53, Ilkka Koskinen wrote: >>>> Trying to record a trace on kernel with 64k pages resulted in -ENOMEM. >>>> This happens due to a bug in calculating the number of table pages, which >>>> returns zero. Fix the issue by rounding up. >>>> >>>> $ perf record --kcore -e cs_etm/@tmc_etr55,cycacc,branch_broadcast/k >>>> --per-thread taskset --cpu-list 1 dd if=/dev/zero of=/dev/null >>>> failed to mmap with 12 (Cannot allocate memory) >>>> >>> >>> Needs a Fixes tag. >>> >>> Fixes : 8ed536b1e283 ("coresight: catu: Add support for scatter gather >>> tables") >> >> That's a good point >> >>> >>>> Signed-off-by: Ilkka Koskinen >>>> --- >>>>   drivers/hwtracing/coresight/coresight-catu.c | 2 +- >>>>   1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/hwtracing/coresight/coresight-catu.c b/drivers/ >>>> hwtracing/coresight/coresight-catu.c >>>> index 275cc0d9f505..3378bb77e6b4 100644 >>>> --- a/drivers/hwtracing/coresight/coresight-catu.c >>>> +++ b/drivers/hwtracing/coresight/coresight-catu.c >>>> @@ -269,7 +269,7 @@ catu_init_sg_table(struct device *catu_dev, int node, >>>>        * Each table can address upto 1MB and we can have >>>>        * CATU_PAGES_PER_SYSPAGE tables in a system page. >>>>        */ >>>> -    nr_tpages = DIV_ROUND_UP(size, SZ_1M) / CATU_PAGES_PER_SYSPAGE; >>>> +    nr_tpages = DIV_ROUND_UP(size, CATU_PAGES_PER_SYSPAGE * SZ_1M); >>>>       catu_table = tmc_alloc_sg_table(catu_dev, node, nr_tpages, >>>>                       size >> PAGE_SHIFT, pages); >>>>       if (IS_ERR(catu_table)) >>> >>> Looks good to me, I will queue this later for v6.15. >>> >>> Suzuki >> >> Sounds great. Just to confirm, are you ok to add the fixes line or would >> you prefer me to submit v2 with it? > > No, not required. I have picked this up for v6.15, and will push it out > once v6.14-rc is out. Perfect, thanks! --Ilkka