Changeset 3bacee1 in mainline for kernel/test/synch/rcu1.c


Ignore:
Timestamp:
2018-04-12T16:27:17Z (7 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3cf22f9
Parents:
76d0981d
git-author:
Jiri Svoboda <jiri@…> (2018-04-11 19:25:33)
git-committer:
Jiri Svoboda <jiri@…> (2018-04-12 16:27:17)
Message:

Make ccheck-fix again and commit more good files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/test/synch/rcu1.c

    r76d0981d r3bacee1  
    7878}
    7979
    80 static void run_thread(size_t k, void (*func)(void*), void *arg)
     80static void run_thread(size_t k, void (*func)(void *), void *arg)
    8181{
    8282        assert(thread[k] == NULL);
    8383
    8484        thread[k] = thread_create(func, arg, TASK, THREAD_FLAG_NONE,
    85                 "test-rcu-thread");
    86 
    87         if(thread[k]) {
     85            "test-rcu-thread");
     86
     87        if (thread[k]) {
    8888                /* Distribute evenly. */
    8989                thread_wire(thread[k], &cpus[k % config.cpu_active]);
     
    9292}
    9393
    94 static void run_all(void (*func)(void*))
     94static void run_all(void (*func)(void *))
    9595{
    9696        size_t thread_cnt = get_thread_cnt();
     
    127127}
    128128
    129 static void run_one(void (*func)(void*), void *arg)
     129static void run_one(void (*func)(void *), void *arg)
    130130{
    131131        assert(one_idx < MAX_THREADS);
     
    179179static bool do_nop_readers(void)
    180180{
    181         size_t seq[MAX_THREADS] = {0};
     181        size_t seq[MAX_THREADS] = { 0 };
    182182        get_seq(100, 100000, get_thread_cnt(), seq);
    183183
     
    185185
    186186        for (size_t k = 0; k < get_thread_cnt(); ++k)
    187                 run_one(nop_reader, (void*)seq[k]);
     187                run_one(nop_reader, (void *)seq[k]);
    188188
    189189        TPRINTF("\nJoining %zu no-op readers\n", get_thread_cnt());
     
    220220static bool do_long_readers(void)
    221221{
    222         size_t seq[MAX_THREADS] = {0};
     222        size_t seq[MAX_THREADS] = { 0 };
    223223        get_seq(10, 1000 * 1000, get_thread_cnt(), seq);
    224224
    225225        TPRINTF("\nRun %zu thr: repeat long reader sections, will preempt, no cbs.\n",
    226                 get_thread_cnt());
     226            get_thread_cnt());
    227227
    228228        for (size_t k = 0; k < get_thread_cnt(); ++k)
    229                 run_one(long_reader, (void*)seq[k]);
     229                run_one(long_reader, (void *)seq[k]);
    230230
    231231        TPRINTF("\nJoining %zu readers with long reader sections.\n", get_thread_cnt());
     
    238238
    239239
    240 static atomic_t nop_callbacks_cnt = {0};
     240static atomic_t nop_callbacks_cnt = { 0 };
    241241/* Must be even. */
    242242static const int nop_updater_iters = 10000;
     
    250250static void nop_updater(void *arg)
    251251{
    252         for (int i = 0; i < nop_updater_iters; i += 2){
     252        for (int i = 0; i < nop_updater_iters; i += 2) {
    253253                rcu_item_t *a = malloc(sizeof(rcu_item_t), FRAME_ATOMIC);
    254254                rcu_item_t *b = malloc(sizeof(rcu_item_t), FRAME_ATOMIC);
     
    274274
    275275        TPRINTF("\nRun %zu thr: post %zu no-op callbacks (%zu B used), no readers.\n",
    276                 get_thread_cnt(), exp_cnt, max_used_mem);
     276            get_thread_cnt(), exp_cnt, max_used_mem);
    277277
    278278        run_all(nop_updater);
     
    303303static void one_cb_done(rcu_item_t *item)
    304304{
    305         assert( ((item_w_cookie_t *)item)->cookie == magic_cookie);
     305        assert(((item_w_cookie_t *)item)->cookie == magic_cookie);
    306306        one_cb_is_done = 1;
    307307        TPRINTF("Callback()\n");
     
    367367static errno_t seq_test_result = EOK;
    368368
    369 static atomic_t cur_time = {1};
    370 static atomic_count_t max_upd_done_time = {0};
     369static atomic_t cur_time = { 1 };
     370static atomic_count_t max_upd_done_time = { 0 };
    371371
    372372static void seq_cb(rcu_item_t *rcu_item)
     
    392392         */
    393393#ifndef KARCH_riscv64
    394         seq_work_t *work = (seq_work_t*)arg;
     394        seq_work_t *work = (seq_work_t *)arg;
    395395
    396396        /* Alternate between reader and updater roles. */
     
    401401                        atomic_count_t start_time = atomic_postinc(&cur_time);
    402402
    403                         for (volatile size_t d = 0; d < 10 * i; ++d ){
     403                        for (volatile size_t d = 0; d < 10 * i; ++d) {
    404404                                /* no-op */
    405405                        }
     
    452452        const size_t iters = 100;
    453453        const size_t total_cnt = 1000;
    454         size_t read_cnt[MAX_THREADS] = {0};
     454        size_t read_cnt[MAX_THREADS] = { 0 };
    455455        seq_work_t item[MAX_THREADS];
    456456
     
    476476
    477477        TPRINTF("\nRun %zu th: check callback completion time in readers. "
    478                 "%zu callbacks total (max %" PRIu64 " %s used). Be patient.\n",
    479                 get_thread_cnt(), total_cbs, mem_units, mem_suffix);
     478            "%zu callbacks total (max %" PRIu64 " %s used). Be patient.\n",
     479            get_thread_cnt(), total_cbs, mem_units, mem_suffix);
    480480
    481481        for (size_t i = 0; i < get_thread_cnt(); ++i) {
     
    500500static void reader_unlocked(rcu_item_t *item)
    501501{
    502         exited_t *p = (exited_t*)item;
     502        exited_t *p = (exited_t *)item;
    503503        p->exited = true;
    504504}
     
    511511        rcu_read_unlock();
    512512
    513         rcu_call((rcu_item_t*)arg, reader_unlocked);
     513        rcu_call((rcu_item_t *)arg, reader_unlocked);
    514514
    515515        rcu_read_lock();
     
    566566static void preempted_reader_prev(void *arg)
    567567{
    568         preempt_t *p = (preempt_t*)arg;
     568        preempt_t *p = (preempt_t *)arg;
    569569        assert(!p->e.exited);
    570570
     
    586586static void preempted_reader_inside_cur(void *arg)
    587587{
    588         preempt_t *p = (preempt_t*)arg;
     588        preempt_t *p = (preempt_t *)arg;
    589589        assert(!p->e.exited);
    590590
     
    611611static void preempted_reader_cur(void *arg)
    612612{
    613         preempt_t *p = (preempt_t*)arg;
     613        preempt_t *p = (preempt_t *)arg;
    614614        assert(!p->e.exited);
    615615
     
    633633static void preempted_reader_next1(void *arg)
    634634{
    635         preempt_t *p = (preempt_t*)arg;
     635        preempt_t *p = (preempt_t *)arg;
    636636        assert(!p->e.exited);
    637637
     
    655655static void preempted_reader_next2(void *arg)
    656656{
    657         preempt_t *p = (preempt_t*)arg;
     657        preempt_t *p = (preempt_t *)arg;
    658658        assert(!p->e.exited);
    659659
     
    684684
    685685
    686 static bool do_one_reader_preempt(void (*f)(void*), const char *err)
     686static bool do_one_reader_preempt(void (*f)(void *), const char *err)
    687687{
    688688        preempt_t *p = malloc(sizeof(preempt_t), FRAME_ATOMIC);
     
    719719
    720720        ok = do_one_reader_preempt(preempted_reader_prev,
    721                 "Err: preempted_reader_prev()\n");
     721            "Err: preempted_reader_prev()\n");
    722722        success = success && ok;
    723723
    724724        ok = do_one_reader_preempt(preempted_reader_inside_cur,
    725                 "Err: preempted_reader_inside_cur()\n");
     725            "Err: preempted_reader_inside_cur()\n");
    726726        success = success && ok;
    727727
    728728        ok = do_one_reader_preempt(preempted_reader_cur,
    729                 "Err: preempted_reader_cur()\n");
     729            "Err: preempted_reader_cur()\n");
    730730        success = success && ok;
    731731
    732732        ok = do_one_reader_preempt(preempted_reader_next1,
    733                 "Err: preempted_reader_next1()\n");
     733            "Err: preempted_reader_next1()\n");
    734734        success = success && ok;
    735735
    736736        ok = do_one_reader_preempt(preempted_reader_next2,
    737                 "Err: preempted_reader_next2()\n");
     737            "Err: preempted_reader_next2()\n");
    738738        success = success && ok;
    739739
     
    860860static void stress_reader(void *arg)
    861861{
    862         bool *done = (bool*) arg;
     862        bool *done = (bool *) arg;
    863863
    864864        while (!*done) {
     
    896896
    897897                /* Print a dot if we make a progress of 1% */
    898                 if (s->master && 0 == (i % (s->iters/100)))
     898                if (s->master && 0 == (i % (s->iters / 100)))
    899899                        TPRINTF(".");
    900900        }
     
    921921
    922922        TPRINTF("\nStress: Run %zu nop-readers and %zu updaters. %zu callbacks"
    923                 " total (max %" PRIu64 " %s used). Be very patient.\n",
    924                 reader_cnt, updater_cnt, exp_upd_calls, mem_units, mem_suffix);
     923            " total (max %" PRIu64 " %s used). Be very patient.\n",
     924            reader_cnt, updater_cnt, exp_upd_calls, mem_units, mem_suffix);
    925925
    926926        for (size_t k = 0; k < reader_cnt; ++k) {
     
    961961                --e->count_down;
    962962
    963                 if (0 == (e->count_down % (e->total_cnt/100))) {
     963                if (0 == (e->count_down % (e->total_cnt / 100))) {
    964964                        TPRINTF("*");
    965965                }
     
    10461046                if (ok) {
    10471047                        TPRINTF("\nSubtest %s() ok (GPs: %" PRIu64 ").\n",
    1048                                 test_func[i].desc, delta_gps);
     1048                            test_func[i].desc, delta_gps);
    10491049                } else {
    10501050                        TPRINTF("\nFailed: %s(). Pausing for 5 secs.\n", test_func[i].desc);
Note: See TracChangeset for help on using the changeset viewer.