[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d57108689d0ab40cf6e51829bb938a2b@linux.dev>
Date: Thu, 27 Oct 2022 08:01:52 +0000
From: "Yajun Deng" <yajun.deng@...ux.dev>
To: "Peter Zijlstra" <peterz@...radead.org>
Cc: mingo@...hat.com, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sched/fair: Remove max_vruntime() and min_vruntime()
October 27, 2022 3:55 PM, "Peter Zijlstra" <peterz@...radead.org> wrote:
> On Thu, Oct 27, 2022 at 09:54:09AM +0200, Peter Zijlstra wrote:
>
>> On Thu, Oct 27, 2022 at 09:53:51AM +0800, Yajun Deng wrote:
>> There is no need to write max_vruntime() and min_vruntime() functions,
>> we can use max_t() and min_t() instead.
>>
>> Here; I did your homework for you:
>>
Thanks for your guidance.
>> /* max.c */
>> #include <stdio.h>
>> #include <stdint.h>
>> #include <stdlib.h>
>>
>> typedef unsigned long long u64;
>> typedef unsigned long long s64;
>
> This should obviously be just 'long long', but the result doesn't
> change.
>
> /me goes goes get more wake-up juice.
>
>> static u64 max_vruntime(u64 max_vruntime, u64 vruntime)
>> {
>> s64 delta = (s64)(vruntime - max_vruntime);
>> if (delta > 0)
>> max_vruntime = vruntime;
>> return max_vruntime;
>> }
>>
>> static u64 max(u64 a, u64 b)
>> {
>> return a > b ? a : b;
>> }
>>
>> int main(int argc, char **argv)
>> {
>> u64 a, b;
>>
>> if (argc < 3)
>> return 0;
>>
>> a = strtoll(argv[1], NULL, 10);
>> b = strtoll(argv[2], NULL, 10);
>> printf(" max(%lu, %lu) = %lu\n", a, b, max(a,b));
>> printf("max_vruntime(%lu, %lu) = %lu\n", a, b, max_vruntime(a,b));
>>
>> return 0;
>> }
>>
>> $ ./max -1 0
>> max(18446744073709551615, 0) = 18446744073709551615
>> max_vruntime(18446744073709551615, 0) = 0
Powered by blists - more mailing lists