Skip to content

Commit

Permalink
Merge pull request torvalds#258 from liuyuan10/memfix
Browse files Browse the repository at this point in the history
Fix boot mem size and lkl_set_fd_limit
  • Loading branch information
liuyuan10 authored Nov 3, 2016
2 parents 468cb6e + 20679a9 commit 487de9a
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 4 deletions.
2 changes: 1 addition & 1 deletion arch/lkl/include/asm/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#ifndef __ASSEMBLY__
void free_mem(void);
void bootmem_init(int mem_size);
void bootmem_init(unsigned long mem_size);
#endif

#include <asm-generic/page.h>
Expand Down
4 changes: 2 additions & 2 deletions arch/lkl/mm/bootmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ static unsigned long _memory_start, mem_size;

void *empty_zero_page;

void __init bootmem_init(int mem_size)
void __init bootmem_init(unsigned long mem_size)
{
int bootmap_size;
unsigned long bootmap_size;

_memory_start = (unsigned long)lkl_ops->mem_alloc(mem_size);
memory_start = _memory_start;
Expand Down
6 changes: 6 additions & 0 deletions tools/lkl/include/lkl.h
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,12 @@ int lkl_if_del_ip(int ifindex, int af, void *addr, unsigned int netprefix_len);
*/
int lkl_if_wait_ipv6_dad(int ifindex, void *addr);

/**
* lkl_set_fd_limit - set the maximum number of file descriptors allowed
* @fd_limit - fd max limit
*/
int lkl_set_fd_limit(unsigned int fd_limit);

#ifdef __cplusplus
}
#endif
Expand Down
9 changes: 9 additions & 0 deletions tools/lkl/lib/fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -363,3 +363,12 @@ int lkl_dirfd(struct lkl_dir *dir)
{
return dir->fd;
}

int lkl_set_fd_limit(unsigned int fd_limit)
{
struct lkl_rlimit rlim = {
.rlim_cur = fd_limit,
.rlim_max = fd_limit,
};
return lkl_sys_setrlimit(LKL_RLIMIT_NOFILE, &rlim);
}
7 changes: 6 additions & 1 deletion tools/lkl/lib/hijack/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ hijack_init(void)
if (single_cpu_mode == 1)
PinToFirstCpu(&ori_cpu);

ret = lkl_start_kernel(&lkl_host_ops, 64 * 1024 * 1024, "");
ret = lkl_start_kernel(&lkl_host_ops, 64 * 1024 * 1024UL, "");
if (ret) {
fprintf(stderr, "can't start kernel: %s\n", lkl_strerror(ret));
return;
Expand All @@ -335,6 +335,11 @@ hijack_init(void)
if (single_cpu_mode)
PinToCpus(&ori_cpu);

ret = lkl_set_fd_limit(65535);
if (ret)
fprintf(stderr, "lkl_set_fd_limit failed: %s\n",
lkl_strerror(ret));

/* fillup FDs up to LKL_FD_OFFSET */
ret = lkl_sys_mknod("/dev_null", LKL_S_IFCHR | 0600, LKL_MKDEV(1, 3));
dev_null = lkl_sys_open("/dev_null", LKL_O_RDONLY, 0);
Expand Down

0 comments on commit 487de9a

Please sign in to comment.