Changeset eebe576 in rtems-libbsd


Ignore:
Timestamp:
11/25/14 11:51:56 (9 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, 5-freebsd-12, 6-freebsd-12, freebsd-9.3, master
Children:
8cdd142
Parents:
fb683f7
git-author:
Sebastian Huber <sebastian.huber@…> (11/25/14 11:51:56)
git-committer:
Sebastian Huber <sebastian.huber@…> (01/21/15 14:00:19)
Message:

ZONE(9): Honor cache alignment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtemsbsd/rtems/rtems-bsd-chunk.c

    rfb683f7 reebe576  
    6767    rtems_bsd_chunk_info_ctor info_ctor, rtems_bsd_chunk_info_dtor info_dtor)
    6868{
    69         info_size = roundup(info_size, CPU_HEAP_ALIGNMENT);
     69        uintptr_t align = rtems_cache_get_data_line_size();
     70
     71        if (align < CPU_HEAP_ALIGNMENT)
     72                align = CPU_HEAP_ALIGNMENT;
     73
     74        info_size = roundup(info_size, align);
    7075
    7176        self->info_size = info_size;
     
    7883rtems_bsd_chunk_alloc(rtems_bsd_chunk_control *self, uintptr_t chunk_size)
    7984{
    80         char *p = malloc(chunk_size + self->info_size, M_TEMP, M_WAITOK);
     85        char *p = rtems_cache_aligned_malloc(chunk_size + self->info_size);
    8186
    8287        if (p != NULL) {
     
    111116        (*self->info_dtor)(self, info);
    112117
    113         free(info, M_TEMP);
     118        free(info, M_RTEMS_HEAP);
    114119}
    115120
Note: See TracChangeset for help on using the changeset viewer.