Changeset 508b0df1 in mainline for uspace/app


Ignore:
Timestamp:
2018-09-06T20:21:52Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
78de83de, fc10e1b
Parents:
4621d23
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-08-13 03:53:39)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-09-06 20:21:52)
Message:

Remove uspace <atomic.h>, use <stdatomic.h> instead

Location:
uspace/app
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/rcutest/rcutest.c

    r4621d23 r508b0df1  
    3535 */
    3636
    37 #include <atomic.h>
     37#include <stdatomic.h>
    3838#include <stdio.h>
    3939#include <stdlib.h>
     
    618618
    619619typedef struct {
    620         atomic_t time;
    621         atomic_t max_start_time_of_done_sync;
     620        atomic_size_t time;
     621        atomic_size_t max_start_time_of_done_sync;
    622622
    623623        size_t total_workers;
     
    630630        size_t upd_iters;
    631631
    632         atomic_t seed;
     632        atomic_size_t seed;
    633633        int failed;
    634634} seq_test_info_t;
     
    651651        rcu_register_fibril();
    652652
    653         size_t seed = (size_t) atomic_preinc(&arg->seed);
    654         bool first = (seed == 1);
     653        size_t seed = atomic_fetch_add(&arg->seed, 1);
     654        bool first = (seed == 0);
    655655
    656656        for (size_t k = 0; k < arg->read_iters; ++k) {
     
    661661
    662662                rcu_read_lock();
    663                 atomic_count_t start_time = atomic_preinc(&arg->time);
     663                size_t start_time = atomic_fetch_add(&arg->time, 1);
    664664
    665665                /* Do some work. */
     
    677677                 * (but did not - since it already announced it completed).
    678678                 */
    679                 if (start_time <= atomic_get(&arg->max_start_time_of_done_sync)) {
     679                if (start_time <= atomic_load(&arg->max_start_time_of_done_sync)) {
    680680                        arg->failed = 1;
    681681                }
     
    695695
    696696        for (size_t k = 0; k < arg->upd_iters; ++k) {
    697                 atomic_count_t start_time = atomic_get(&arg->time);
     697                size_t start_time = atomic_load(&arg->time);
    698698                rcu_synchronize();
    699699
    700700                /* This is prone to a race but if it happens it errs to the safe side.*/
    701                 if (atomic_get(&arg->max_start_time_of_done_sync) < start_time) {
    702                         atomic_set(&arg->max_start_time_of_done_sync, start_time);
     701                if (atomic_load(&arg->max_start_time_of_done_sync) < start_time) {
     702                        atomic_store(&arg->max_start_time_of_done_sync, start_time);
    703703                }
    704704        }
     
    716716
    717717        seq_test_info_t info = {
    718                 .time = { 0 },
    719                 .max_start_time_of_done_sync = { 0 },
     718                .time = 0,
     719                .max_start_time_of_done_sync = 0,
    720720                .read_iters = 10 * 1000,
    721721                .upd_iters = 5 * 1000,
     
    725725                .done_cnt_mtx = FIBRIL_MUTEX_INITIALIZER(info.done_cnt_mtx),
    726726                .done_cnt_changed = FIBRIL_CONDVAR_INITIALIZER(info.done_cnt_changed),
    727                 .seed = { 0 },
     727                .seed = 0,
    728728                .failed = 0,
    729729        };
  • uspace/app/tester/float/float1.c

    r4621d23 r508b0df1  
    3232#include <stdlib.h>
    3333#include <stddef.h>
    34 #include <atomic.h>
     34#include <stdatomic.h>
    3535#include <fibril.h>
    3636#include <fibril_synch.h>
     
    4545
    4646static FIBRIL_SEMAPHORE_INITIALIZE(threads_finished, 0);
    47 static atomic_t threads_fault;
     47static atomic_int threads_fault;
    4848
    4949static errno_t e(void *data)
     
    6060
    6161                if ((uint32_t) (e * PRECISION) != E_10E8) {
    62                         atomic_inc(&threads_fault);
     62                        atomic_fetch_add(&threads_fault, 1);
    6363                        break;
    6464                }
     
    7171const char *test_float1(void)
    7272{
    73         atomic_count_t total = 0;
     73        int total = 0;
    7474
    75         atomic_set(&threads_fault, 0);
     75        atomic_store(&threads_fault, 0);
    7676        fibril_test_spawn_runners(THREADS);
    7777
     
    9292        TPRINTF("\n");
    9393
    94         for (unsigned int i = 0; i < total; i++) {
    95                 TPRINTF("Threads left: %" PRIua "\n", total - i);
     94        for (int i = 0; i < total; i++) {
     95                TPRINTF("Threads left: %d\n", total - i);
    9696                fibril_semaphore_down(&threads_finished);
    9797        }
    9898
    99         if (atomic_get(&threads_fault) == 0)
     99        if (atomic_load(&threads_fault) == 0)
    100100                return NULL;
    101101
  • uspace/app/tester/thread/thread1.c

    r4621d23 r508b0df1  
    3131#define DELAY    10
    3232
    33 #include <atomic.h>
     33#include <stdatomic.h>
    3434#include <errno.h>
    3535#include <fibril.h>
     
    4040#include "../tester.h"
    4141
    42 static atomic_t finish;
     42static atomic_bool finish;
    4343
    4444static FIBRIL_SEMAPHORE_INITIALIZE(threads_finished, 0);
     
    4848        fibril_detach(fibril_get_id());
    4949
    50         while (atomic_get(&finish))
     50        while (!atomic_load(&finish))
    5151                fibril_usleep(100000);
    5252
     
    5757const char *test_thread1(void)
    5858{
    59         unsigned int i;
    60         atomic_count_t total = 0;
     59        int total = 0;
    6160
    62         atomic_set(&finish, 1);
     61        atomic_store(&finish, false);
    6362
    6463        fibril_test_spawn_runners(THREADS);
    6564
    6665        TPRINTF("Creating threads");
    67         for (i = 0; i < THREADS; i++) {
     66        for (int i = 0; i < THREADS; i++) {
    6867                fid_t f = fibril_create(threadtest, NULL);
    6968                if (!f) {
     
    8079        TPRINTF("\n");
    8180
    82         atomic_set(&finish, 0);
    83         for (i = 0; i < total; i++) {
    84                 TPRINTF("Threads left: %" PRIua "\n",
    85                     total - i);
     81        atomic_store(&finish, true);
     82        for (int i = 0; i < total; i++) {
     83                TPRINTF("Threads left: %d\n", total - i);
    8684                fibril_semaphore_down(&threads_finished);
    8785        }
  • uspace/app/wavplay/main.c

    r4621d23 r508b0df1  
    3535
    3636#include <assert.h>
    37 #include <atomic.h>
     37#include <stdatomic.h>
    3838#include <errno.h>
    3939#include <fibril_synch.h>
     
    189189typedef struct {
    190190        hound_context_t *ctx;
    191         atomic_t *count;
     191        atomic_int *count;
    192192        const char *file;
    193193} fib_play_t;
     
    203203        fib_play_t *p = arg;
    204204        const errno_t ret = hplay_ctx(p->ctx, p->file);
    205         atomic_dec(p->count);
     205        atomic_fetch_sub(p->count, 1);
    206206        free(arg);
    207207        return ret;
     
    279279        /* Init parallel playback variables */
    280280        hound_context_t *hound_ctx = NULL;
    281         atomic_t playcount;
    282         atomic_set(&playcount, 0);
     281        atomic_int playcount = 0;
    283282
    284283        /* Init parallel playback context if necessary */
     
    332331                                data->ctx = hound_ctx;
    333332                                fid_t fid = fibril_create(play_wrapper, data);
    334                                 atomic_inc(&playcount);
     333                                atomic_fetch_add(&playcount, 1);
    335334                                fibril_add_ready(fid);
    336335                        } else {
     
    341340
    342341        /* Wait for all fibrils to finish */
    343         while (atomic_get(&playcount) > 0)
     342        while (atomic_load(&playcount) > 0)
    344343                fibril_usleep(1000000);
    345344
Note: See TracChangeset for help on using the changeset viewer.