Go to file
David Komel 211e5b73c0 kernel: k_busy_wait() should return immediately on zero timeout
When CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT is not defined, cycles_to_wait
is calculated using a division operation. This calculation could take a
significant amount of time (a few microseconds on some architectures,
depending on the system clock).
In the special case of zero usec_to_wait, the function should return
immediately rather than spend time on calculations.
For example, in spi driver (spi_context.h, _spi_context_cs_control()),
k_busy_wait() can be called with zero delay. This can increase spi
transaction time significantly.
Another improvement, is moving the start_cycles initialization
before cycles_to_wait calculation, so the time it takes to calculate
cycles_to_wait will be taken into account.

Signed-off-by: David Komel <a8961713@gmail.com>
2020-10-14 14:52:06 -04:00
.buildkite ci: double number of builders for daily build 2020-09-22 14:16:58 -05:00
.github github: labeler: Add 'area: ARM_64' label 2020-10-06 09:50:12 -05:00
.known-issues doc: update known issues for Sphinx>=3.2.0 2020-08-31 09:57:33 -04:00
arch arch/x86: Make EFI copies bytewise 2020-10-13 14:07:24 -07:00
boards boards: stm32: Convert boards I2C pins to devicetree 2020-10-14 11:14:15 -05:00
cmake dts: remove legacy macro support 2020-10-09 08:45:38 -05:00
doc doc: document devicetree.h dependency ordinal APIs 2020-10-14 13:18:44 -05:00
drivers eth: mcux: Use different RX and TX buffers for each instance 2020-10-14 07:19:09 -05:00
dts boards: arm: efm32gg_*: Enable SWO logging 2020-10-14 08:35:20 -05:00
include pcie: Trivial documentation cleanup 2020-10-14 11:49:12 -07:00
kernel kernel: k_busy_wait() should return immediately on zero timeout 2020-10-14 14:52:06 -04:00
lib lib: posix: eventfd: Fix use of 'struct k_spinlock_key' 2020-10-07 08:11:25 -04:00
misc
modules modules/hal_st: Align sensor drivers to stmemsc HAL i/f v1.03 2020-10-13 09:46:08 -05:00
samples samples/shields: x_nucleo_iks01a2: Add shub mode sample 2020-10-14 08:41:41 -05:00
scripts devicetree: add first round of dependency ordinal info 2020-10-14 13:18:44 -05:00
share cmake: Zephyr CMake package clean-up and minor fix 2020-08-19 12:52:33 -04:00
soc boards: arm: efm32gg_*: Enable TRNG 2020-10-14 08:35:20 -05:00
subsys fs: Move FAT FS Kconfig options to Kconfig.fatfs 2020-10-14 13:19:47 -05:00
tests devicetree: add first round of dependency ordinal info 2020-10-14 13:18:44 -05:00
.checkpatch.conf checkpatch: disable REPEATED_WORD 2020-08-21 13:57:02 -04:00
.clang-format clang-format: Update with latest FOR_EACH macro list 2020-05-02 11:23:13 -04:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: Tell linguist to ignore test pattern files 2020-04-23 14:07:57 -04:00
.gitignore
.gitlint
.mailmap
.uncrustify.cfg
CMakeLists.txt cmake: export build flags to external build systems excluding SHELL tag 2020-09-10 11:31:53 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS kernel: move kernel object APIs to own header 2020-10-12 12:21:46 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr kconfig: Remove unused configuration option 2020-10-14 11:49:12 -07:00
LICENSE
MAINTAINERS.yml Revert "zephyr: maintainers:" 2020-10-09 09:19:28 -05:00
Makefile doc: provide a target to only generate doxygen 2020-04-11 08:40:54 -04:00
README.rst doc: Replace shippable badge with buildkite badge 2020-07-14 07:21:44 -05:00
VERSION release: Update patch level to 99 after the 2.4.0 release 2020-09-27 15:15:49 -05:00
version.h.in
west.yml west.yml: hal_stm32: Get latest F1 -pinctrl.dtsi files 2020-10-14 11:14:15 -05:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/images/Zephyr-Project.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://buildkite.com/zephyr/zephyr">
   <img
   src="https://badge.buildkite.com/f5bd0dc88306cee17c9b38e78d11bb74a6291e3f40e7d13f31.svg?branch=master"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst

.. start_include_here

Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

Community Support
*****************

Community support is provided via mailing lists and Slack; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI
  (shippable) nightly build results.
* **Chat**: Zephyr's Slack workspace is https://zephyrproject.slack.com.  Use
  this `Slack Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Slack Invite: https://tinyurl.com/y5glwylp
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/guides/getting-help.html