All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: song <chensong@tj.kylinos.cn>,
	"florian.bezdeka@siemens.com" <florian.bezdeka@siemens.com>,
	"xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [PATCH 1/3] cobalt uapi: Introducing new feature flag for settime64 availability
Date: Sat, 14 Nov 2020 08:32:11 +0100	[thread overview]
Message-ID: <61278b81-2502-6950-4647-5cafcbdb0d23@siemens.com> (raw)
In-Reply-To: <88ba257e-c9bd-02eb-741d-7d600f9ffdfa@tj.kylinos.cn>

On 14.11.20 07:57, song via Xenomai wrote:
> 
> 
> On 2020/11/13 下午8:00, florian.bezdeka@siemens.com wrote:
>> From: Florian Bezdeka <florian.bezdeka@siemens.com>
>>
>> Adding a new feature flag to allow the library asking for settime64
>> support. That will allow the library to use the new system call if it
>> is available / supported by the kernel.
>>
>> Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
>> ---
>>   include/cobalt/uapi/asm-generic/features.h | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/cobalt/uapi/asm-generic/features.h
>> b/include/cobalt/uapi/asm-generic/features.h
>> index 8a4927c49..93a96670a 100644
>> --- a/include/cobalt/uapi/asm-generic/features.h
>> +++ b/include/cobalt/uapi/asm-generic/features.h
>> @@ -51,6 +51,7 @@ struct cobalt_featinfo {
>>   #define __xn_feat_nofastsynch 0x10000000
>>   #define __xn_feat_control     0x08000000
>>   #define __xn_feat_prioceiling 0x04000000
>> +#define __xn_feat_settime64   0x02000000
>>     #ifdef CONFIG_SMP
>>   #define __xn_feat_smp_mask __xn_feat_smp
>> @@ -70,7 +71,8 @@ struct cobalt_featinfo {
>>   #define __xn_feat_generic_mask            \
>>       (__xn_feat_smp_mask        |    \
>>        __xn_feat_fastsynch_mask     |    \
>> -     __xn_feat_prioceiling)
>> +     __xn_feat_prioceiling        |    \
>> +     __xn_feat_settime64 )
>>     /*
>>    * List of features both sides have to agree on: If userland supports
>> @@ -101,6 +103,8 @@ const char *get_generic_feature_label(unsigned int
>> feature)
>>           return "control";
>>       case __xn_feat_prioceiling:
>>           return "prioceiling";
>> +    case __xn_feat_settime64:
>> +        return "settime64";
>>       default:
>>           return 0;
>>       }
>>
> 
> If i understand it correctly, we negotiate xn_feature instead of abi
> revision? In lib/cobalt/clock.c?
> 

Yes. New userspace will mandate the feature, old will not require it.
Kernel can handle both cases, passively.

> Another question is settime64 is the first step of y2038, clock_gettime
> and others will come up, shall we have xn_feat_time64 for all of them?

Yes, good point.

Jan
-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux



  reply	other threads:[~2020-11-14  7:32 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03  3:05 [PATCH 5/5] lib/cobalt/clock.c:dispatch clock_settime chensong
2020-11-10 10:24 ` Jan Kiszka
2020-11-11  3:55   ` chensong
2020-11-11  7:29     ` Jan Kiszka
2020-11-11  9:23       ` chensong
2020-11-11  9:43         ` Jan Kiszka
2020-11-11 10:13           ` chensong
2020-11-13 11:47             ` Florian Bezdeka
2020-11-13 11:56               ` Jan Kiszka
2020-11-13 11:59                 ` [PATCH 0/3] Make offered kernel features accessible during florian.bezdeka
2020-11-13 12:00                   ` [PATCH 1/3] cobalt uapi: Introducing new feature flag for settime64 availability florian.bezdeka
2020-11-13 13:25                     ` Jan Kiszka
2020-11-13 16:18                       ` florian.bezdeka
2020-11-14  7:33                         ` Jan Kiszka
2020-11-14  6:57                     ` song
2020-11-14  7:32                       ` Jan Kiszka [this message]
2020-11-14  7:50                         ` song
2020-11-16 14:07                           ` [PATCH v2 0/3] Make offered kernel features accessible during florian.bezdeka
2020-11-16 14:07                             ` [PATCH v2 1/3] lib/cobalt: Rename cobalt_check_features to cobalt_arch_check_features florian.bezdeka
2020-11-16 14:07                             ` [PATCH v2 3/3] cobalt uapi: Introducing new feature flag for time64 availability florian.bezdeka
2020-12-11  6:41                               ` Jan Kiszka
2020-11-16 14:07                             ` [PATCH v2 2/3] lib/cobalt: Introduce generic feature initialization and check API florian.bezdeka
2020-11-17  4:31                               ` song
2020-11-17  8:29                                 ` florian.bezdeka
2020-11-17  8:43                                   ` song
2020-11-17 14:28                               ` Jan Kiszka
2020-11-13 12:00                   ` [PATCH 2/3] lib/cobalt: Rename cobalt_check_features to cobalt_arch_check_features florian.bezdeka
2020-11-13 12:00                   ` [PATCH 3/3] lib/cobalt: Introduce generic feature initialization and check API florian.bezdeka
2020-11-13 13:25                     ` Jan Kiszka
2020-11-13 16:10                       ` florian.bezdeka
2020-11-14  7:04               ` [PATCH 5/5] lib/cobalt/clock.c:dispatch clock_settime song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=61278b81-2502-6950-4647-5cafcbdb0d23@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=chensong@tj.kylinos.cn \
    --cc=florian.bezdeka@siemens.com \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.