Messages in this thread | | | Date | Tue, 7 May 2019 06:49:52 -0700 | From | Richard Cochran <> | Subject | Re: [PATCH v1] timer:clock:ptp: add support the dynamic posix clock alarm set for ptp |
| |
On Sun, May 05, 2019 at 05:02:05AM +0000, Po Liu wrote: > Current kernel code do not support the dynamic posix clock alarm set. > This code would support it by the posix timer structure. > > 319 const struct k_clock clock_posix_dynamic = { > > 320 .clock_getres = pc_clock_getres, > 321 .clock_set = pc_clock_settime, > 322 .clock_get = pc_clock_gettime, > 323 .clock_adj = pc_clock_adjtime, > 324 + .timer_create = pc_timer_create, > 325 + .timer_del = pc_timer_delete, > 326 + .timer_set = pc_timer_set, > 327 + .timer_arm = pc_timer_arm, > } >
Sorry, NAK, since we decided some time ago not to support timer_* operations on dynamic clocks. You get much better application level timer performance by synchronizing CLOCK_REALTIME to your PHC and using clock_nanosleep() with CLOCK_REALTIME or CLOCK_MONOTONIC.
> This won't change the user space system call code. Normally the user > space set alarm by timer_create() and timer_settime(). Reference code > are tools/testing/selftests/ptp/testptp.c.
That program still has misleading examples. Sorry about that. I'll submit a patch to remove them.
> +static int pc_timer_create(struct k_itimer *new_timer) > +{ > + return 0; > +} > +
This of course would never work. Consider what happens when two or more timers are created and armed.
Thanks, Richard
| |