Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 487de9a

Browse files
authored
Merge pull request torvalds#258 from liuyuan10/memfix
Fix boot mem size and lkl_set_fd_limit
2 parents 468cb6e + 20679a9 commit 487de9a

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

arch/lkl/include/asm/page.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
#ifndef __ASSEMBLY__
77
void free_mem(void);
8-
void bootmem_init(int mem_size);
8+
void bootmem_init(unsigned long mem_size);
99
#endif
1010

1111
#include <asm-generic/page.h>

arch/lkl/mm/bootmem.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ static unsigned long _memory_start, mem_size;
77

88
void *empty_zero_page;
99

10-
void __init bootmem_init(int mem_size)
10+
void __init bootmem_init(unsigned long mem_size)
1111
{
12-
int bootmap_size;
12+
unsigned long bootmap_size;
1313

1414
_memory_start = (unsigned long)lkl_ops->mem_alloc(mem_size);
1515
memory_start = _memory_start;

tools/lkl/include/lkl.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,12 @@ int lkl_if_del_ip(int ifindex, int af, void *addr, unsigned int netprefix_len);
437437
*/
438438
int lkl_if_wait_ipv6_dad(int ifindex, void *addr);
439439

440+
/**
441+
* lkl_set_fd_limit - set the maximum number of file descriptors allowed
442+
* @fd_limit - fd max limit
443+
*/
444+
int lkl_set_fd_limit(unsigned int fd_limit);
445+
440446
#ifdef __cplusplus
441447
}
442448
#endif

tools/lkl/lib/fs.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,3 +363,12 @@ int lkl_dirfd(struct lkl_dir *dir)
363363
{
364364
return dir->fd;
365365
}
366+
367+
int lkl_set_fd_limit(unsigned int fd_limit)
368+
{
369+
struct lkl_rlimit rlim = {
370+
.rlim_cur = fd_limit,
371+
.rlim_max = fd_limit,
372+
};
373+
return lkl_sys_setrlimit(LKL_RLIMIT_NOFILE, &rlim);
374+
}

tools/lkl/lib/hijack/init.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ hijack_init(void)
323323
if (single_cpu_mode == 1)
324324
PinToFirstCpu(&ori_cpu);
325325

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

338+
ret = lkl_set_fd_limit(65535);
339+
if (ret)
340+
fprintf(stderr, "lkl_set_fd_limit failed: %s\n",
341+
lkl_strerror(ret));
342+
338343
/* fillup FDs up to LKL_FD_OFFSET */
339344
ret = lkl_sys_mknod("/dev_null", LKL_S_IFCHR | 0600, LKL_MKDEV(1, 3));
340345
dev_null = lkl_sys_open("/dev_null", LKL_O_RDONLY, 0);

0 commit comments

Comments
 (0)