mirror of
https://github.com/apache/nuttx.git
synced 2026-09-05 00:13:17 +00:00
Nuttx currently has 2 types of sleep interfaces: 1. Signal-scheduled sleep: nxsig_sleep() / nxsig_usleep() / nxsig_nanosleep() Weaknesses: a. Signal-dependent: The signal-scheduled sleep method is bound to the signal framework, while some driver sleep operations do not depend on signals. b. Timespec conversion: Signal-scheduled sleep involves timespec conversion, which has a significant impact on performance. 2. Busy sleep: up_mdelay() / up_udelay() Weaknesses: a. Does not actively trigger scheduling, occupy the CPU loading. 3. New interfaces: Scheduled sleep: nxsched_sleep() / nxsched_usleep() / nxsched_msleep() / nxsched_ticksleep() Strengths: a. Does not depend on the signal framework. b. Tick-based, without additional computational overhead. Currently, the Nuttx driver framework extensively uses nxsig_* interfaces. However, the driver does not need to rely on signals or timespec conversion. Therefore, a new set of APIs is added to reduce dependencies on other modules. (This PR also aims to make signals optional, further reducing the code size of Nuttx.) Signed-off-by: chao an <anchao.archer@bytedance.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| at24xx.c | ||
| at25.c | ||
| at25ee.c | ||
| at45db.c | ||
| cfi.c | ||
| cfi.h | ||
| CMakeLists.txt | ||
| dhara.c | ||
| filemtd.c | ||
| ftl.c | ||
| gd5f.c | ||
| gd25.c | ||
| gd55.c | ||
| hamming.c | ||
| is25xp.c | ||
| Kconfig | ||
| m25px.c | ||
| Make.defs | ||
| mtd_cfi.c | ||
| mtd_config.c | ||
| mtd_config_fs.c | ||
| mtd_modeltab.c | ||
| mtd_nand.c | ||
| mtd_nandecc.c | ||
| mtd_nandmodel.c | ||
| mtd_nandram.c | ||
| mtd_nandscheme.c | ||
| mtd_nandwrapper.c | ||
| mtd_onfi.c | ||
| mtd_partition.c | ||
| mtd_progmem.c | ||
| mtd_rwbuffer.c | ||
| mx25lx.c | ||
| mx25rxx.c | ||
| mx35.c | ||
| n25qxxx.c | ||
| nullmtd.c | ||
| nvblk.c | ||
| rammtd.c | ||
| ramtron.c | ||
| rpmsgmtd.c | ||
| rpmsgmtd.h | ||
| rpmsgmtd_server.c | ||
| s25fl1.c | ||
| sector512.c | ||
| skeleton.c | ||
| smart.c | ||
| sst25.c | ||
| sst25xx.c | ||
| sst26.c | ||
| sst39vf.c | ||
| w25.c | ||
| w25qxxxjv.c | ||