提交 3bda7e20 创建 作者: Nickolai Zeldovich's avatar Nickolai Zeldovich

cache line alignment

上级 20caefe7
......@@ -7,6 +7,6 @@ struct kmem {
struct spinlock lock;
struct run *freelist;
uint nfree;
};
} __attribute__ ((aligned (CACHELINE)));
extern struct kmem kmems[NCPU];
......@@ -13,3 +13,4 @@
#define MAXNAME 16 // max string names
#define MINCYCTHRESH 1000000 // min cycles a proc executes on a core before allowed to be stolen
#define INF 0xFFFFFFFF
#define CACHELINE 64 // cache line size
......@@ -115,19 +115,19 @@ struct cpu {
struct proc *proc; // The currently-running process.
struct kmem *kmem; // The per-core memory table
struct runq *runq; // The per-core runq
};
} __attribute__ ((aligned (CACHELINE)));
struct runq {
char name[MAXNAME];
struct spinlock lock;
STAILQ_HEAD(runlist, proc) runq;
};
} __attribute__ ((aligned (CACHELINE)));
struct condtab {
char name[MAXNAME];
struct spinlock lock;
struct condvar condtab[NPROC];
};
} __attribute__ ((aligned (CACHELINE)));
extern struct cpu cpus[NCPU];
extern struct runq runqs[NCPU];
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论