Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/test/mm/falloc2.c

    r8cbf1c3 rcd3b380  
    4040#include <arch.h>
    4141
    42 #define MAX_FRAMES  256U
    43 #define MAX_ORDER   8
     42#define MAX_FRAMES  256
    4443
    4544#define THREAD_RUNS  1
     
    6665       
    6766        for (unsigned int run = 0; run < THREAD_RUNS; run++) {
    68                 for (unsigned int order = 0; order <= MAX_ORDER; order++) {
     67                for (size_t count = 1; count <= MAX_FRAMES; count++) {
     68                        size_t bytes = FRAMES2SIZE(count);
     69                       
    6970                        TPRINTF("Thread #%" PRIu64 " (cpu%u): "
    70                             "Allocating %u frames blocks ... \n", THREAD->tid,
    71                             CPU->id, 1 << order);
     71                            "Allocating %zu frames blocks (%zu bytes) ... \n", THREAD->tid,
     72                            CPU->id, count, bytes);
    7273                       
    7374                        unsigned int allocated = 0;
    74                         for (unsigned int i = 0; i < (MAX_FRAMES >> order); i++) {
    75                                 frames[allocated] =
    76                                     PA2KA(frame_alloc(order, FRAME_ATOMIC, 0));
     75                        for (unsigned int i = 0; i < (MAX_FRAMES / count); i++) {
     76                                frames[allocated] = frame_alloc(count, FRAME_ATOMIC, 0);
    7777                                if (frames[allocated]) {
    78                                         memsetb((void *) frames[allocated], FRAME_SIZE << order, val);
     78                                        memsetb((void *) PA2KA(frames[allocated]), bytes, val);
    7979                                        allocated++;
    8080                                } else
     
    8989                       
    9090                        for (unsigned int i = 0; i < allocated; i++) {
    91                                 for (size_t k = 0; k <= (((size_t) FRAME_SIZE << order) - 1);
    92                                     k++) {
    93                                         if (((uint8_t *) frames[i])[k] != val) {
     91                                for (size_t k = 0; k < bytes; k++) {
     92                                        if (((uint8_t *) PA2KA(frames[i]))[k] != val) {
    9493                                                TPRINTF("Thread #%" PRIu64 " (cpu%u): "
    9594                                                    "Unexpected data (%c) in block %zu offset %zu\n",
    96                                                     THREAD->tid, CPU->id, ((char *) frames[i])[k],
     95                                                    THREAD->tid, CPU->id, ((char *) PA2KA(frames[i]))[k],
    9796                                                    frames[i], k);
    9897                                                atomic_inc(&thread_fail);
     
    10099                                        }
    101100                                }
    102                                 frame_free(KA2PA(frames[i]));
     101                                frame_free(frames[i], count);
    103102                        }
    104103                       
Note: See TracChangeset for help on using the changeset viewer.