Add qlmpi and swap to mckernel (This is rebase commit for merging to development)

This commit is contained in:
Yutaka Ishikawa
2017-07-23 21:19:15 +09:00
committed by Ken Sato
parent 74f15783d2
commit 236a072311
61 changed files with 6638 additions and 24 deletions

View File

@@ -50,6 +50,7 @@
#define VR_MEMTYPE_WB 0x00000000 /* write-back */
#define VR_MEMTYPE_UC 0x01000000 /* uncachable */
#define VR_MEMTYPE_MASK 0x0f000000
#define VR_PAGEOUT 0x10000000
#define PROT_TO_VR_FLAG(prot) (((unsigned long)(prot) << 16) & VR_PROT_MASK)
#define VRFLAG_PROT_TO_MAXPROT(vrflag) (((vrflag) & VR_PROT_MASK) << 4)
@@ -248,6 +249,7 @@ struct process_vm;
struct vm_regions;
struct vm_range;
struct swapinfo;
#define HASH_SIZE 73
@@ -711,6 +713,7 @@ struct process_vm {
struct list_head vm_range_numa_policy_list;
struct vm_range *range_cache[VM_RANGE_CACHE_SIZE];
int range_cache_ind;
struct swapinfo *swapinfo;
};
static inline int has_cap_ipc_lock(struct thread *th)

View File

@@ -0,0 +1,34 @@
/*
* \file swapfmt.h
* License details are found in the file LICENSE.
* \brief
* swapped out file format
* \author Yutaka Ishikawa <ishikawa@riken.jp>
*/
#define MCKERNEL_SWAP "McKernel swap"
#define MCKERNEL_SWAP_VERSION "@MCKERNEL_VERSION@"
#define SWAP_HLEN 16
struct swap_header {
char magic[SWAP_HLEN]; /* MCKernel swap */
char version[SWAP_HLEN]; /* same as McKernel version */
unsigned int count_sarea; /* count of swaped area info */
unsigned int count_marea; /* count of mlocked area info */
};
struct swap_areainfo {
unsigned long start; /* virtual address */
unsigned long end; /* virtual address */
unsigned long pos; /* swap: file position in this file
* mlock: physical address */
unsigned long flag; /* flag in vm_range */
};
/*
*
* +--------------------
* | swap_header
* +--------------------
* | swap_areainfo[...]
* | swap_ainfo[...]
*/