Ignore:
File:
1 edited

Legend:

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

    r8bee858 rc18bf9e  
    3535// I/O
    3636struct cluster;
    37 struct io_context$;
    38 struct io_arbiter$;
     37struct $io_context;
     38struct $io_arbiter;
    3939
    4040struct io_context_params {
     
    8383
    8484// Wrapper around kernel threads
    85 struct __attribute__((aligned(64))) processor {
     85struct __attribute__((aligned(128))) processor {
    8686        // Cluster from which to get threads
    8787        struct cluster * cltr;
     
    113113
    114114        struct {
    115                 io_context$ * ctx;
     115                $io_context * ctx;
    116116                unsigned target;
    117117                volatile bool pending;
     
    171171
    172172// Intrusives lanes which are used by the ready queue
    173 union __attribute__((aligned(64))) __intrusive_lane_t;
     173struct __attribute__((aligned(128))) __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 union __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 
    186 static inline void  ?{}(__timestamp_t & this) { this.t.tv = 0; this.t.ma = 0; }
     178struct __attribute__((aligned(128))) __timestamp_t {
     179        volatile unsigned long long tv;
     180        volatile unsigned long long ma;
     181};
     182
     183static inline void  ?{}(__timestamp_t & this) { this.tv = 0; this.ma = 0; }
    187184static inline void ^?{}(__timestamp_t &) {}
    188185
     
    215212//-----------------------------------------------------------------------------
    216213// Cluster
    217 struct __attribute__((aligned(64))) cluster {
     214struct __attribute__((aligned(128))) cluster {
    218215        struct {
    219216                struct {
     
    230227                struct {
    231228                        // Array of $io_
    232                         io_context$ ** data;
     229                        $io_context ** data;
    233230
    234231                        // Time since subqueues were processed
     
    267264
    268265        struct {
    269                 io_arbiter$ * arbiter;
     266                $io_arbiter * arbiter;
    270267                io_context_params params;
    271268        } io;
Note: See TracChangeset for help on using the changeset viewer.