Kinsey Moore df40ffa9dc cpukit/jffs2/gc.c: Prevent live lock for split reads
In some cases a file read is not completed in a single call into the
JFFS2 layer and the inode is left in the READING state. When this
happens, it's possible for a garbage collection pass to be initiated
before completion of the read. In some such cases, the garbage
collection pass is executed in a tight loop that expects granular
locking to allow forward progress of the read between collection passes.
With RTEMS monolithic locking of the JFFS2 layer, forward progress is
not possible in this situation since the monolithic lock is never
released inside the loop.

The solution is to have the garbage collection pass return failure when
no progress is possible due to a bad inode state. This allows the read
to complete and the collection pass can be attempted at a later time.

Closes #5365
2025-10-02 19:15:09 -05:00
2025-02-12 22:22:24 -05:00
2024-08-02 20:28:50 +00:00
2024-11-21 04:22:31 +01:00
2022-06-21 09:32:16 +02:00
2024-10-28 21:39:14 -06:00
2024-10-24 23:26:05 +00:00
2024-12-22 10:42:40 +11:00

Real-Time Executive for Multiprocessing Systems

RTEMS is a real-time executive (kernel) which provides a high performance environment for embedded applications with the following features:

  • Standards based user interfaces.
  • Multitasking capabilities.
  • Homogeneous and heterogeneous multiprocessor systems.
  • Event-driven, priority-based, preemptive scheduling.
  • Optional rate monotonic scheduling.
  • Intertask communication and synchronisation.
  • Priority inheritance.
  • Responsive interrupt management.
  • Dynamic memory allocation.
  • High level of user configurability.
  • Open source with a friendly user license.

Project git repositories are located at:

Online documentation is available at:

RTEMS Doxygen for CPUKit:

RTEMS POSIX 1003.1 Compliance Guide:

RTEMS Mailing Lists for general purpose use the users list and for developers use the devel list.

The version number for this software is indicated in the VERSION file.

Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme 138 MiB
Languages
C 93.9%
Assembly 3.4%
Ada 1.4%
Python 0.3%
HTML 0.3%
Other 0.4%