Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#2493 closed defect (fixed)

Remove notepads

Reported by: Sebastian Huber Owned by: Joel Sherrill <joel.sherrill@…>
Priority: normal Milestone: 5.1
Component: unspecified Version: 5
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Notepads were marked as obsolete in #2265. Next step is to remove them. Documentation should mention that notepads are removed an list the alternatives, e.g. POSIX keys or thread local storage.

Attachments (1)

0001-api-Remove-deprecated-Notepads.patch (154.0 KB) - added by Aun-Ali Zaidi on 12/23/15 at 21:06:32.

Download all attachments as: .zip

Change History (9)

comment:1 Changed on 12/15/15 at 10:54:46 by Sebastian Huber

  • Remove RTEMS_API_Control::Notepads
  • Remove all rtems_task_*note*() functions and now unused dependencies.
  • Build with all tests enabled and fix all compile and link time errors.
  • Run tests without regressions.
  • Remove RTEMS_tasks_MP_Packet::note*.
  • Build with --enable-multiprocessing.
  • Build with all tests enabled and fix all compile and link time errors.
  • Run tests without regressions.
  • Update documentation, to be defined.
Last edited on 12/22/15 at 14:20:07 by Sebastian Huber (previous) (diff)

Changed on 12/23/15 at 21:06:32 by Aun-Ali Zaidi

comment:2 Changed on 12/23/15 at 21:10:03 by Aun-Ali Zaidi

Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys
or threaded local storage (TLS). They were introduced well before per task variables, which
are also deprecated, and were barely used in favor of their POSIX alternatives.

In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:

  • 16 32-bit integers were allocated.
  • A total of 64 bytes per task per thread.

This is especially critical in low memory and safety-critical applications.

They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer.

Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX
keys and TLS.

I am closing this ticket once the patch is committed.

comment:3 Changed on 12/24/15 at 23:05:02 by Joel Sherrill <joel.sherrill@…>

Owner: set to Joel Sherrill <joel.sherrill@…>
Resolution: fixed
Status: newclosed

In [changeset:"c924e8502f6ad340acfae0e55443d0acde45fdf1/rtems"]:

user/task.t: Add advice on transitioning use of notepads

closes #2493.

comment:4 Changed on 05/11/17 at 07:31:02 by Sebastian Huber

Milestone: 4.124.12.0

comment:5 Changed on 05/29/17 at 06:02:19 by Sebastian Huber <sebastian.huber@…>

In [changeset:"afa5b894b259b6864b1c5f62a6e8d229bf81a329/rtems" afa5b89/rtems]:

ada: Remove task notepad support

Update #2493.

comment:6 Changed on 10/09/17 at 06:05:48 by Sebastian Huber <sebastian.huber@…>

In [changeset:"d8f7bdc003f560e8b3b002e18a56c18692d737d8/rtems-docs" d8f7bdc/rtems-docs]:

c-user: Add obsolete configuration options section

Update #2493.
Update #3112.
Update #3113.
Update #3114.
Update #3115.
Update #3116.

comment:7 Changed on 11/09/17 at 06:27:14 by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

comment:8 Changed on 12/01/17 at 14:23:45 by Sebastian Huber <sebastian.huber@…>

In [changeset:"dda8142f275222b147bc91494ebda7f8c8e4059b/rtems" dda8142f/rtems]:

ada/sp07: Fix uninitialized variable

Bug was introduced by d5154d0f6a04f3b7ed59d9a09038576fe2640756.

Updates #2493.

Note: See TracTickets for help on using tickets.