Files
nuttx/sched/clock/Make.defs
wangchengdong 54adf5979c sched/clock: Add clock_increase_sched_ticks() and clock_get_sched_ticks()
In the current NuttX kernel implementation, there is no function
    to represent pure scheduler ticks.
    The existing clock_systime_ticks() cannot serve this purpose,
    because it keeps increasing even when the scheduler is not running.
    This happens since the returned value reflects real hardware time:
    as long as the timer or alarm hardware is active,
    clock_systime_ticks() will continuously increase.

    This patch introduces two new functions that provide access to
    scheduler ticks — a counter that only increases when the scheduler
    itself is running.

Signed-off-by: Chengdong Wang wangchengdong@lixiang.com
2025-10-18 20:07:59 +08:00

47 lines
1.6 KiB
Plaintext

############################################################################
# sched/clock/Make.defs
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
CSRCS += clock.c clock_initialize.c clock_settime.c clock_gettime.c
CSRCS += clock_systime_ticks.c clock_systime_timespec.c clock_sched_ticks.c
CSRCS += clock_perf.c clock_realtime2absticks.c
# Unless a driver with a more accurate version of up_*delay is enabled, always
# include the base delay definition (busy-loop) as a minimum-viable product. We
# don't want the weak references to conflict.
ifneq ($(CONFIG_TIMER_ARCH),y)
CSRCS += delay.c
endif
ifeq ($(CONFIG_CLOCK_TIMEKEEPING),y)
CSRCS += clock_timekeeping.c
endif
ifeq ($(CONFIG_CLOCK_ADJTIME),y)
CSRCS += clock_adjtime.c
endif
# Include clock build support
DEPPATH += --dep-path clock
VPATH += :clock