Ignore:
Timestamp:
Jul 28, 2022, 11:59:02 AM (2 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, master, pthread-emulation
Children:
c4c8571
Parents:
13d326ec
Message:

Small improvements to some of the alignment requirements in CFA runtime.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.hfa

    r13d326ec r2af1943  
    8383
    8484// Wrapper around kernel threads
    85 struct __attribute__((aligned(128))) processor {
     85struct __attribute__((aligned(64))) processor {
    8686        // Cluster from which to get threads
    8787        struct cluster * cltr;
     
    171171
    172172// Intrusives lanes which are used by the ready queue
    173 struct __attribute__((aligned(128))) __intrusive_lane_t;
     173union __attribute__((aligned(64))) __intrusive_lane_t;
    174174void  ?{}(__intrusive_lane_t & this);
    175175void ^?{}(__intrusive_lane_t & this);
    176176
    177177// Aligned timestamps which are used by the ready queue and io subsystem
    178 struct __attribute__((aligned(128))) __timestamp_t {
    179         volatile unsigned long long tv;
    180         volatile unsigned long long ma;
    181 };
    182 
    183 static inline void  ?{}(__timestamp_t & this) { this.tv = 0; this.ma = 0; }
     178union __attribute__((aligned(64))) __timestamp_t {
     179        struct {
     180                volatile unsigned long long tv;
     181                volatile unsigned long long ma;
     182        } t;
     183        char __padding[192];
     184};
     185
     186static inline void  ?{}(__timestamp_t & this) { this.t.tv = 0; this.t.ma = 0; }
    184187static inline void ^?{}(__timestamp_t &) {}
    185188
     
    212215//-----------------------------------------------------------------------------
    213216// Cluster
    214 struct __attribute__((aligned(128))) cluster {
     217struct __attribute__((aligned(64))) cluster {
    215218        struct {
    216219                struct {
Note: See TracChangeset for help on using the changeset viewer.