Man page - madvise(2)
Packages contains this manual
- __malloc_initialize_hook(3)
- getpwuid(3)
- frexpl(3)
- fchown(2)
- setttyent(3)
- pthread_attr_setstacksize(3)
- calloc(3)
- clog(3)
- seteuid(2)
- res_nquerydomain(3)
- y0l(3)
- catanl(3)
- catanh(3)
- inet_addr(3)
- getcwd(2)
- epoll_create1(2)
- atol(3)
- pciconfig_write(2)
- htonl(3)
- timer_settime(2)
- munmap(2)
- cexpl(3)
- rt_sigsuspend(2)
- msgctl(2)
- tan(3)
- get_mempolicy(2)
- roundf(3)
- towctrans(3)
- xdr_opaque(3)
- psignal(3)
- error_at_line(3)
- xdrmem_create(3)
- select(2)
- getdate_r(3)
- getprotobyname_r(3)
- nrand48_r(3)
- inet_netof(3)
- inet_ntoa(3)
- nextafterl(3)
- innetgr(3)
- on_exit(3)
- expm1l(3)
- strfmon(3)
- strdup(3)
- getservbyport(3)
- arch_prctl(2)
- j0(3)
- wait4(2)
- personality(2)
- bpf(2)
- pvalloc(3)
- getresuid32(2)
- des_setparity(3)
- prctl(2)
- clog10(3)
- aio_init(3)
- pthread_getconcurrency(3)
- csinl(3)
- linkat(2)
- vsscanf(3)
- isascii(3)
- xdr_union(3)
- nan(3)
- utimensat(2)
- ioctl_vt(2)
- _newselect(2)
- ldexpl(3)
- fabsf(3)
- chown(2)
- mkstemps(3)
- pthread_attr_getstacksize(3)
- listxattr(2)
- getpgrp(2)
- xdr_short(3)
- tcflush(3)
- pthread_cond_wait(3)
- argz_add(3)
- wcpncpy(3)
- reallocarray(3)
- llrintf(3)
- outsl(2)
- qsort(3)
- authnone_create(3)
- tzname(3)
- setresuid32(2)
- isspace(3)
- open_by_handle_at(2)
- drem(3)
- conjf(3)
- nanosleep(2)
- pthread_kill(3)
- putc(3)
- pthread_condattr_destroy(3)
- getpwuid_r(3)
- strverscmp(3)
- res_init(3)
- cacosl(3)
- qecvt_r(3)
- iswgraph(3)
- gethostbyname(3)
- ntohl(3)
- acct(2)
- asinl(3)
- envz_merge(3)
- strdupa(3)
- idle(2)
- getopt_long_only(3)
- hstrerror(3)
- fanotify_init(2)
- fputs_unlocked(3)
- sleep(3)
- vfprintf(3)
- scalb(3)
- nanl(3)
- lchown32(2)
- getnetent_r(3)
- fcntl(2)
- inw(2)
- rintl(3)
- arc4random(3)
- getsockopt(2)
- ilogbl(3)
- clog2(3)
- encrypt(3)
- sqrtf(3)
- isspace_l(3)
- tanl(3)
- cfmakeraw(3)
- assert(3)
- strtoull(3)
- xdrstdio_create(3)
- optopt(3)
- setrlimit(2)
- lround(3)
- xdr_accepted_reply(3)
- fmin(3)
- mq_notify(3)
- svcerr_auth(3)
- sbrk(2)
- recv(2)
- mq_unlink(2)
- strxfrm(3)
- ctan(3)
- atoi(3)
- xcrypt(3)
- sgetspent(3)
- fread(3)
- isless(3)
- ceil(3)
- pthread_cond_broadcast(3)
- oldfstat(2)
- outl(2)
- times(2)
- wcslen(3)
- popen(3)
- wprintf(3)
- labs(3)
- getrpcbynumber(3)
- shmat(2)
- clock_gettime(2)
- btree(3)
- s390_sthyi(2)
- siggetmask(3)
- getgid32(2)
- puts(3)
- scalblnl(3)
- strpbrk(3)
- catanhl(3)
- vlimit(3)
- getrpcent(3)
- tgammal(3)
- strtoll(3)
- funlockfile(3)
- xdecrypt(3)
- pthread_key_delete(3)
- setgrent(3)
- wmemmove(3)
- gnu_dev_major(3)
- regexec(3)
- lrintl(3)
- __ppc_set_ppr_med(3)
- rmdir(2)
- io_getevents(2)
- request_key(2)
- ecvt(3)
- __ppc_mdoom(3)
- mktemp(3)
- key_gendes(3)
- le64toh(3)
- statvfs(3)
- rpc(3)
- getdate_err(3)
- munlockall(2)
- close(2)
- xdr_rejected_reply(3)
- dlerror(3)
- le32toh(3)
- feclearexcept(3)
- insque(3)
- clntraw_create(3)
- getutid(3)
- strtof(3)
- settimeofday(2)
- mkdir(2)
- rewind(3)
- logf(3)
- tmpnam(3)
- iswpunct(3)
- wcrtomb(3)
- epoll_pwait(2)
- getitimer(2)
- wordexp(3)
- clog2f(3)
- capset(2)
- strrchr(3)
- outsb(2)
- freeifaddrs(3)
- getwc_unlocked(3)
- ustat(2)
- bswap_16(3)
- program_invocation_short_name(3)
- ldiv(3)
- exp10f(3)
- vprintf(3)
- wcsncpy(3)
- iscntrl(3)
- readlink(2)
- semget(2)
- connect(2)
- psiginfo(3)
- epoll_ctl(2)
- removexattr(2)
- envz_strip(3)
- fgetxattr(2)
- atexit(3)
- putgrent(3)
- bswap(3)
- getegid32(2)
- qecvt(3)
- asinh(3)
- isfdtype(3)
- setenv(3)
- readdir(3)
- rtime(3)
- nearbyint(3)
- getgroups32(2)
- statx(2)
- modify_ldt(2)
- cpow(3)
- eventfd_read(3)
- sendfile64(2)
- getnetbyname(3)
- fremovexattr(2)
- uselib(2)
- inet(3)
- endutxent(3)
- clnt_spcreateerror(3)
- pututline(3)
- nexttowardl(3)
- getipnodebyaddr(3)
- fts_set(3)
- memmem(3)
- fmodl(3)
- setfsuid32(2)
- wordfree(3)
- fadvise64(2)
- getppid(2)
- qsort_r(3)
- toupper(3)
- getwc(3)
- fputws(3)
- mrand48(3)
- preadv(2)
- sincosf(3)
- fstatat64(2)
- dirfd(3)
- jnf(3)
- static_assert(3)
- wctype(3)
- vwarn(3)
- setfsent(3)
- listen(2)
- wcstok(3)
- argz_insert(3)
- select_tut(2)
- ctanl(3)
- getunwind(2)
- difftime(3)
- daylight(3)
- sigpause(3)
- wcscat(3)
- dlclose(3)
- __ppc_set_ppr_med_low(3)
- pread(2)
- fstatvfs(3)
- cbrtf(3)
- strnlen(3)
- sinhl(3)
- inl_p(2)
- setregid32(2)
- putwc(3)
- register_printf_type(3)
- nextafterf(3)
- opendir(3)
- strtod(3)
- tgamma(3)
- malloc_get_state(3)
- aio_write(3)
- timezone(3)
- xdr_pmaplist(3)
- sysfs(2)
- index(3)
- svcerr_noproc(3)
- envz(3)
- klogctl(3)
- pselect(2)
- get_current_dir_name(3)
- xdr_char(3)
- asinhf(3)
- preadv2(2)
- inotify_init1(2)
- pthread_attr_setstackaddr(3)
- getline(3)
- tanhf(3)
- rtnetlink(3)
- pkey_alloc(2)
- edata(3)
- stailq(3)
- isastream(2)
- setregid(2)
- copy_file_range(2)
- rcmd_af(3)
- futex(2)
- prof(2)
- siglongjmp(3)
- hdestroy(3)
- catan(3)
- pthread_cond_signal(3)
- mkfifoat(3)
- clntudp_create(3)
- getentropy(3)
- vsprintf(3)
- fabs(3)
- lseek64(3)
- pthread_setname_np(3)
- conjl(3)
- chroot(2)
- ccoshf(3)
- erand48_r(3)
- wcsnrtombs(3)
- rindex(3)
- fputc_unlocked(3)
- setresgid32(2)
- gettimeofday(2)
- cexp(3)
- inotify_add_watch(2)
- set_robust_list(2)
- nice(2)
- strtold(3)
- mq_getattr(3)
- xdr(3)
- getxattr(2)
- getrandom(2)
- splice(2)
- strerror(3)
- fcntl64(2)
- fnmatch(3)
- ungetwc(3)
- getspnam_r(3)
- clearenv(3)
- atan2(3)
- get_myaddress(3)
- open(2)
- pthread_setcancelstate(3)
- newlocale(3)
- open_memstream(3)
- setprotoent(3)
- logbf(3)
- ilogb(3)
- wmemcpy(3)
- tcsendbreak(3)
- be16toh(3)
- perfmonctl(2)
- strtoq(3)
- getgrgid_r(3)
- pthread_timedjoin_np(3)
- memfd_create(2)
- getttynam(3)
- mcheck_pedantic(3)
- _llseek(2)
- renameat2(2)
- ioperm(2)
- ecb_crypt(3)
- pthread_condattr_init(3)
- fminl(3)
- lio_listio(3)
- envz_add(3)
- setbuf(3)
- setkey(3)
- expm1(3)
- strtoul(3)
- getcwd(3)
- setutxent(3)
- getrpcent_r(3)
- unimplemented(2)
- fclose(3)
- epoll_create(2)
- getfsent(3)
- key_secretkey_is_set(3)
- vserver(2)
- vswprintf(3)
- sigsuspend(2)
- pututxline(3)
- clnt_freeres(3)
- cacheflush(2)
- ioprio_set(2)
- alarm(2)
- fgetc(3)
- __fpurge(3)
- getlogin_r(3)
- vfork(2)
- bstring(3)
- div(3)
- getrusage(2)
- gettid(2)
- dprintf(3)
- strtoumax(3)
- jrand48(3)
- iswcntrl(3)
- vwarnx(3)
- cacos(3)
- ccoshl(3)
- fesetexceptflag(3)
- res_nclose(3)
- shmop(2)
- mcheck_check_all(3)
- vscanf(3)
- tolower(3)
- landlock_add_rule(2)
- argz_next(3)
- lroundl(3)
- ruserok(3)
- glob(3)
- brk(2)
- rename(2)
- strcspn(3)
- sched_getscheduler(2)
- wcstoumax(3)
- dbopen(3)
- xdr_bytes(3)
- fegetenv(3)
- scalbf(3)
- pkey_free(2)
- fgetgrent(3)
- strchrnul(3)
- fork(2)
- log1pf(3)
- strtoimax(3)
- fputs(3)
- putspent(3)
- ttyname_r(3)
- iswlower(3)
- epoll_wait(2)
- minor(3)
- wcsspn(3)
- sendmmsg(2)
- pthread_attr_getsigmask_np(3)
- erand48(3)
- setpgrp(2)
- db(3)
- readv(2)
- cimagf(3)
- pthread_sigmask(3)
- getresuid(2)
- gamma(3)
- logwtmp(3)
- imaxabs(3)
- y1(3)
- swapoff(2)
- svcerr_weakauth(3)
- mbtowc(3)
- madvise(2)
- __fbufsize(3)
- swapon(2)
- towlower(3)
- asin(3)
- initgroups(3)
- svc_getreqset(3)
- pthread_attr_destroy(3)
- scalblnf(3)
- ispunct(3)
- casin(3)
- xdr_pmap(3)
- sigvec(3)
- dlmopen(3)
- localeconv(3)
- tcgetattr(3)
- mempcpy(3)
- clnt_perrno(3)
- clock_getcpuclockid(3)
- setaliasent(3)
- clock(3)
- ftok(3)
- svc_run(3)
- getsubopt(3)
- coshf(3)
- pow(3)
- getpwent(3)
- ntp_gettime(3)
- xdrrec_skiprecord(3)
- symlink(2)
- shmctl(2)
- mq_timedreceive(2)
- malloc(3)
- tgkill(2)
- l64a(3)
- unlockpt(3)
- mallopt(3)
- creal(3)
- syscalls(2)
- set_tid_address(2)
- exp2f(3)
- fstatfs(2)
- statfs(2)
- dreml(3)
- feenableexcept(3)
- ftw(3)
- fanotify_mark(2)
- clnt_sperror(3)
- realpath(3)
- sysconf(3)
- _syscall(2)
- set_mempolicy(2)
- mq_unlink(3)
- freehostent(3)
- rresvport_af(3)
- nl_langinfo_l(3)
- fmaxl(3)
- iscntrl_l(3)
- copysignf(3)
- llseek(2)
- bzero(3)
- ioctl_fsmap(2)
- remquof(3)
- malloc_trim(3)
- pthread_getattr_default_np(3)
- isalnum_l(3)
- mlock(2)
- nearbyintf(3)
- confstr(3)
- sinf(3)
- ioctl_eventpoll(2)
- sigstack(3)
- seed48_r(3)
- utmpname(3)
- malloc_stats(3)
- stpncpy(3)
- getservbyport_r(3)
- cabsl(3)
- isblank(3)
- sigprocmask(2)
- isinfl(3)
- isinff(3)
- pathconf(3)
- xdr_u_short(3)
- acos(3)
- timerfd_create(2)
- key_encryptsession(3)
- log2f(3)
- oldlstat(2)
- res_querydomain(3)
- memcmp(3)
- gethostbyaddr(3)
- sighold(3)
- gtty(2)
- xdr_void(3)
- getmsg(2)
- io_setup(2)
- ttyslot(3)
- recno(3)
- cuserid(3)
- nanf(3)
- pthread_getaffinity_np(3)
- if_indextoname(3)
- remainderf(3)
- putpwent(3)
- pow10f(3)
- pwritev(2)
- swapcontext(3)
- cfsetospeed(3)
- envz_remove(3)
- cosh(3)
- a64l(3)
- uselocale(3)
- yn(3)
- msgget(2)
- pthread_equal(3)
- prlimit(2)
- setspent(3)
- newfstatat(2)
- renameat(2)
- truncf(3)
- pthread_yield(3)
- tkill(2)
- islessequal(3)
- isnanf(3)
- sethostent(3)
- setvbuf(3)
- gnu_get_libc_release(3)
- atoll(3)
- getgrnam(3)
- get_robust_list(2)
- __ppc_yield(3)
- __memalign_hook(3)
- eventfd2(2)
- mq_setattr(3)
- tmpnam_r(3)
- pmap_getport(3)
- svcfd_create(3)
- getfsspec(3)
- setgid(2)
- getlogin(3)
- get_nprocs(3)
- canonicalize_file_name(3)
- pthread_mutexattr_getrobust(3)
- strerrorname_np(3)
- csinh(3)
- malloc_set_state(3)
- tcgetsid(3)
- ssignal(3)
- secure_getenv(3)
- significandl(3)
- wcschr(3)
- isgraph(3)
- pthread_mutexattr_gettype(3)
- creat(2)
- cabsf(3)
- __ppc_set_ppr_med_high(3)
- fchdir(2)
- backtrace_symbols(3)
- exp10l(3)
- euidaccess(3)
- sync_file_range(2)
- getutxline(3)
- isdigit(3)
- sinhf(3)
- lgetxattr(2)
- getaliasent(3)
- memrchr(3)
- io_submit(2)
- clnt_create(3)
- __setfpucw(3)
- _flushlbf(3)
- lcong48_r(3)
- clog10l(3)
- pmap_getmaps(3)
- memalign(3)
- xdr_authunix_parms(3)
- execl(3)
- getdate(3)
- cfsetispeed(3)
- tanhl(3)
- wmempcpy(3)
- outw_p(2)
- faccessat(2)
- rresvport(3)
- nextup(3)
- fgetgrent_r(3)
- getopt(3)
- xdr_vector(3)
- aio_error(3)
- frexpf(3)
- getpw(3)
- sscanf(3)
- mprotect(2)
- exp(3)
- sched_getaffinity(2)
- accept4(2)
- remainderl(3)
- pthread_key_create(3)
- endian(3)
- setmntent(3)
- get_phys_pages(3)
- argz(3)
- _exit(2)
- towupper_l(3)
- lrand48(3)
- csqrt(3)
- hdestroy_r(3)
- remquo(3)
- feof_unlocked(3)
- isprint(3)
- pivot_root(2)
- arc4random_uniform(3)
- strfroml(3)
- getdomainname(2)
- va_end(3)
- getresgid(2)
- cosf(3)
- endhostent(3)
- setgid32(2)
- ioctl_fs(2)
- getaddrinfo(3)
- fgetwc(3)
- lock(2)
- getservbyname_r(3)
- sys_nerr(3)
- insb(2)
- usleep(3)
- security(2)
- cfree(3)
- tanf(3)
- fprintf(3)
- pthread_mutexattr_setpshared(3)
- xprt_unregister(3)
- alphasort(3)
- getgrent(3)
- scandirat(3)
- iruserok(3)
- ttyname(3)
- tdestroy(3)
- strcasecmp(3)
- getpgid(2)
- drand48_r(3)
- mmap(2)
- sigtimedwait(2)
- pthread_once(3)
- mq_receive(3)
- pthread_mutexattr_setkind_np(3)
- iopl(2)
- s390_runtime_instr(2)
- lckpwdf(3)
- memmove(3)
- __fpending(3)
- mbsrtowcs(3)
- restart_syscall(2)
- memset(3)
- significandf(3)
- openat2(2)
- timeradd(3)
- conj(3)
- flockfile(3)
- madvise1(2)
- inet_aton(3)
- fstatfs64(2)
- fmax(3)
- fmemopen(3)
- fmaf(3)
- lseek(2)
- registerrpc(3)
- kexec_file_load(2)
- gammal(3)
- feof(3)
- pidfd_open(2)
- crealf(3)
- clogl(3)
- getutmp(3)
- umount(2)
- inet_pton(3)
- flistxattr(2)
- xdr_wrapstring(3)
- socketcall(2)
- setrpcent(3)
- rint(3)
- vm86(2)
- sincosl(3)
- getprotoent_r(3)
- mknod(2)
- getdents64(2)
- gai_cancel(3)
- srandom_r(3)
- getnetbyname_r(3)
- sigaddset(3)
- htole16(3)
- endnetent(3)
- nextafter(3)
- timerisset(3)
- getgrent_r(3)
- freeaddrinfo(3)
- endprotoent(3)
- mbind(2)
- sigorset(3)
- pthread_rwlockattr_setkind_np(3)
- cimag(3)
- waitid(2)
- abs(3)
- unlink(2)
- recvmsg(2)
- getaliasbyname(3)
- wctrans(3)
- kill(2)
- strtol(3)
- __ppc_set_ppr_very_low(3)
- membarrier(2)
- getnetbyaddr_r(3)
- writev(2)
- errx(3)
- tfind(3)
- clone3(2)
- __freading(3)
- outw(2)
- regfree(3)
- accept(2)
- timer_getoverrun(2)
- shmdt(2)
- svcerr_decode(3)
- getnameinfo(3)
- endusershell(3)
- execvpe(3)
- cbc_crypt(3)
- res_send(3)
- xdr_destroy(3)
- getcontext(3)
- pkey_mprotect(2)
- twalk_r(3)
- isalnum(3)
- timercmp(3)
- setxattr(2)
- pthread_cleanup_pop_restore_np(3)
- stat(2)
- isupper(3)
- vsyslog(3)
- strlen(3)
- pthread_attr_setinheritsched(3)
- xdr_inline(3)
- strtouq(3)
- raise(3)
- getpeername(2)
- capget(2)
- atanl(3)
- ferror_unlocked(3)
- isxdigit_l(3)
- modfl(3)
- pthread_mutexattr_init(3)
- pthread_mutexattr_getkind_np(3)
- phys(2)
- llabs(3)
- sched_rr_get_interval(2)
- asprintf(3)
- explicit_bzero(3)
- asctime(3)
- clone(2)
- munlock(2)
- __realloc_hook(3)
- atof(3)
- rt_tgsigqueueinfo(2)
- syslog(2)
- inet_makeaddr(3)
- epoll_pwait2(2)
- iswalpha(3)
- netlink(3)
- sched_setattr(2)
- sigdescr_np(3)
- access(2)
- getc_unlocked(3)
- dysize(3)
- inet_net_pton(3)
- sched_setparam(2)
- timerfd_settime(2)
- nexttowardf(3)
- expf(3)
- svcerr_progvers(3)
- getwchar(3)
- ftime(3)
- if_nametoindex(3)
- argz_add_sep(3)
- vasprintf(3)
- unlinkat(2)
- putenv(3)
- pthread_mutexattr_setrobust_np(3)
- error_message_count(3)
- setfsgid(2)
- cmsg(3)
- setpwent(3)
- cfgetospeed(3)
- end(3)
- pidfd_send_signal(2)
- scalbn(3)
- closelog(3)
- srandom(3)
- argz_replace(3)
- ioctl_tty(2)
- va_arg(3)
- towlower_l(3)
- isblank_l(3)
- remove(3)
- expl(3)
- fscanf(3)
- versionsort(3)
- pow10(3)
- hsearch(3)
- gethostid(3)
- fchownat(2)
- group_member(3)
- getchar_unlocked(3)
- getservbyname(3)
- pthread_mutexattr_destroy(3)
- setpgid(2)
- acosf(3)
- ctanhf(3)
- shm_open(3)
- towupper(3)
- getdents(2)
- chown32(2)
- hypotf(3)
- undocumented(3)
- drand48(3)
- csinf(3)
- ctime_r(3)
- setlinebuf(3)
- ulimit(3)
- spu_create(2)
- fcvt_r(3)
- ipc(2)
- ftruncate64(2)
- fdopen(3)
- svcerr_noprog(3)
- getrpcport(3)
- csin(3)
- sinh(3)
- nrand48(3)
- openpty(3)
- xdr_double(3)
- pthread_attr_getscope(3)
- vfscanf(3)
- catanhf(3)
- inb(2)
- wcpcpy(3)
- ldexp(3)
- getopt_long(3)
- strerrordesc_np(3)
- mbsinit(3)
- argz_stringify(3)
- setbuffer(3)
- byteorder(3)
- expm1f(3)
- pthread_attr_setscope(3)
- gnu_dev_makedev(3)
- pipe(2)
- updwtmp(3)
- fts_read(3)
- ioctl_fat(2)
- h_errno(3)
- sem_getvalue(3)
- iswupper(3)
- lrint(3)
- perror(3)
- xdr_u_int(3)
- timer_create(2)
- iswdigit(3)
- fgetspent(3)
- fwrite_unlocked(3)
- reboot(2)
- ftruncate(2)
- getutmpx(3)
- pwrite64(2)
- getauxval(3)
- xdr_pointer(3)
- getprotobynumber(3)
- svc_destroy(3)
- vmsplice(2)
- inet_network(3)
- readdir_r(3)
- setsockopt(2)
- rexec(3)
- flock(2)
- getw(3)
- mmap2(2)
- j1f(3)
- cprojf(3)
- mkstemp(3)
- symlinkat(2)
- tempnam(3)
- pthread_attr_getaffinity_np(3)
- gethostbyname_r(3)
- signalfd4(2)
- sys_siglist(3)
- erfc(3)
- truncate64(2)
- verr(3)
- pthread_kill_other_threads_np(3)
- eaccess(3)
- fsetpos(3)
- slist(3)
- pmap_unset(3)
- modf(3)
- ioctl_pipe(2)
- vfwprintf(3)
- getresgid32(2)
- statfs64(2)
- cexp2(3)
- stdio_ext(3)
- login_tty(3)
- xdr_long(3)
- dlsym(3)
- clog2l(3)
- malloc_usable_size(3)
- fegetexceptflag(3)
- basename(3)
- fwrite(3)
- vhangup(2)
- printf(3)
- setnetent(3)
- gethostbyname2(3)
- mallinfo2(3)
- signbit(3)
- clnt_broadcast(3)
- sched_yield(2)
- sem_open(3)
- sigsetjmp(3)
- cacoshl(3)
- sem_unlink(3)
- setresuid(2)
- signgam(3)
- putw(3)
- imaxdiv(3)
- regex(3)
- alloc_hugepages(2)
- modff(3)
- exp10(3)
- cprojl(3)
- utime(2)
- clogf(3)
- pthread_mutex_unlock(3)
- erff(3)
- ioctl_userfaultfd(2)
- iswprint(3)
- roundl(3)
- sqrtl(3)
- fpurge(3)
- getusershell(3)
- fcloseall(3)
- xdr_opaque_auth(3)
- gethostent_r(3)
- fgetwc_unlocked(3)
- fchmod(2)
- strptime(3)
- lutimes(3)
- htole64(3)
- putchar_unlocked(3)
- create_module(2)
- isascii_l(3)
- sigaction(2)
- stdout(3)
- geteuid32(2)
- xprt_register(3)
- freopen(3)
- ccosl(3)
- pthread_setschedprio(3)
- rt_sigaction(2)
- getmntent(3)
- putwchar_unlocked(3)
- logl(3)
- remque(3)
- unsetenv(3)
- sigwaitinfo(2)
- pthread_mutexattr_getrobust_np(3)
- initstate_r(3)
- getfsfile(3)
- exp2l(3)
- isatty(3)
- lgamma_r(3)
- lrintf(3)
- outb(2)
- __clone2(2)
- strcpy(3)
- clnt_call(3)
- hypot(3)
- fegetexcept(3)
- tcsetpgrp(3)
- gets(3)
- malloc_info(3)
- nextupf(3)
- pthread_attr_getdetachstate(3)
- getaliasent_r(3)
- fstat64(2)
- futimesat(2)
- dl_iterate_phdr(3)
- posix_madvise(3)
- endnetgrent(3)
- tolower_l(3)
- pthread_attr_setstack(3)
- pread64(2)
- sigsetops(3)
- stty(2)
- process_vm_readv(2)
- isfinite(3)
- gethostbyaddr_r(3)
- cproj(3)
- gai_strerror(3)
- key_decryptsession(3)
- inet_ntop(3)
- __ppc_mdoio(3)
- btowc(3)
- setstate_r(3)
- if_nameindex(3)
- fdetach(2)
- random_r(3)
- iruserok_af(3)
- truncl(3)
- clearerr(3)
- lgammaf(3)
- lfind(3)
- ctanf(3)
- strcat(3)
- pthread_attr_getschedpolicy(3)
- pthread_rwlockattr_getkind_np(3)
- sigrelse(3)
- daemon(3)
- pthread_setcanceltype(3)
- sigevent(7)
- iswalnum(3)
- pmap_set(3)
- stdin(3)
- ceilf(3)
- asctime_r(3)
- poll(2)
- svc_unregister(3)
- isnanl(3)
- carg(3)
- getprotobyname(3)
- arm_fadvise(2)
- optind(3)
- mount_setattr(2)
- dlvsym(3)
- ntp_adjtime(3)
- abort(3)
- pthread_getname_np(3)
- execlp(3)
- bind(2)
- bsearch(3)
- endspent(3)
- register_printf_specifier(3)
- landlock_create_ruleset(2)
- mkostemp(3)
- setgroups(2)
- toupper_l(3)
- argz_extract(3)
- sigblock(3)
- j0l(3)
- argz_delete(3)
- setusershell(3)
- getspnam(3)
- optarg(3)
- vm86old(2)
- sigandset(3)
- getdtablesize(3)
- getsockname(2)
- pthread_sigqueue(3)
- ptsname(3)
- j1(3)
- lgamma(3)
- getpagesize(2)
- pthread_mutex_lock(3)
- setsid(2)
- strncat(3)
- ioctl_kd(2)
- tsearch(3)
- mq_notify(2)
- fcvt(3)
- clntudp_bufcreate(3)
- getpwent_r(3)
- pthread_getspecific(3)
- memfrob(3)
- arc4random_buf(3)
- forkpty(3)
- powl(3)
- dlopen(3)
- stderr(3)
- set_thread_area(2)
- query_module(2)
- sem_close(3)
- strndup(3)
- __malloc_hook(3)
- setjmp(3)
- stdio(3)
- bdflush(2)
- sendto(2)
- mpx(2)
- fopen(3)
- setpriority(2)
- nextdownl(3)
- mprobe(3)
- oldstat(2)
- sem_destroy(3)
- bcopy(3)
- remap_file_pages(2)
- isgreaterequal(3)
- getpass(3)
- seekdir(3)
- break(2)
- authunix_create_default(3)
- tty_ioctl(4)
- process_madvise(2)
- endfsent(3)
- atoq(3)
- strftime(3)
- fts(3)
- getgrgid(3)
- isxdigit(3)
- ftello(3)
- regcomp(3)
- error(3)
- getenv(3)
- clnt_sperrno(3)
- readahead(2)
- y0(3)
- roundup(3)
- io_destroy(2)
- vsnprintf(3)
- lgammal(3)
- eventfd_write(3)
- pthread_mutex_trylock(3)
- lchown(2)
- dladdr(3)
- error_print_progname(3)
- pthread_mutexattr_settype(3)
- strspn(3)
- __after_morecore_hook(3)
- localtime(3)
- fsync(2)
- ether_aton(3)
- csinhl(3)
- trunc(3)
- xdr_u_char(3)
- syslog(3)
- y1f(3)
- ioctl_nsfs(2)
- wmemcmp(3)
- ffsll(3)
- ether_ntohost(3)
- bswap_32(3)
- umount2(2)
- sigfillset(3)
- landlock_restrict_self(2)
- pthread_join(3)
- sysinfo(2)
- clock_settime(2)
- llrint(3)
- s390_guarded_storage(2)
- getc(3)
- inet_lnaof(3)
- tcgetpgrp(3)
- clock_getres(2)
- etext(3)
- strfmon_l(3)
- putwc_unlocked(3)
- xdr_replymsg(3)
- scalbl(3)
- fdim(3)
- getspent(3)
- sem_timedwait(3)
- posix_fallocate(3)
- res_nmkquery(3)
- pthread_spin_unlock(3)
- mq_timedsend(2)
- opterr(3)
- getloadavg(3)
- strsignal(3)
- finite(3)
- inw_p(2)
- csinhf(3)
- execveat(2)
- seed48(3)
- sigset(3)
- setgroups32(2)
- logbl(3)
- wcsdup(3)
- clnt_geterr(3)
- sys_errlist(3)
- inotify_rm_watch(2)
- qgcvt(3)
- wcspbrk(3)
- sin(3)
- lookup_dcookie(2)
- s390_pci_mmio_read(2)
- wcscmp(3)
- getutxent(3)
- pciconfig_read(2)
- initstate(3)
- backtrace(3)
- putc_unlocked(3)
- fedisableexcept(3)
- rt_sigprocmask(2)
- clock_adjtime(2)
- fwprintf(3)
- jnl(3)
- grantpt(3)
- cimagl(3)
- getgrnam_r(3)
- remquol(3)
- swprintf(3)
- mbrtowc(3)
- fileno_unlocked(3)
- readlinkat(2)
- sigignore(3)
- strndupa(3)
- semctl(2)
- assert_perror(3)
- sendfile(2)
- shm_unlink(3)
- log(3)
- ungetc(3)
- erf(3)
- qfcvt(3)
- pthread_atfork(3)
- login(3)
- setservent(3)
- jrand48_r(3)
- wcsnlen(3)
- tcflow(3)
- pthread_cond_destroy(3)
- inl(2)
- srand48_r(3)
- erfcf(3)
- iconv(3)
- pthread_mutex_consistent_np(3)
- fabsl(3)
- pclose(3)
- nfsservctl(2)
- gai_error(3)
- wcsncmp(3)
- islower_l(3)
- iswctype(3)
- svc_register(3)
- arm_sync_file_range(2)
- strfry(3)
- strfromd(3)
- getttyent(3)
- rand(3)
- fchown32(2)
- ctime(3)
- fsetxattr(2)
- feupdateenv(3)
- random(3)
- getpwnam_r(3)
- sigwait(3)
- aio_fsync(3)
- mq_open(2)
- tanh(3)
- localtime_r(3)
- bsd_signal(3)
- strsep(3)
- mknodat(2)
- cexpf(3)
- cacosh(3)
- mbrlen(3)
- aio_cancel(3)
- mq_getsetattr(2)
- fdatasync(2)
- htons(3)
- sem_post(3)
- htobe16(3)
- vtimes(3)
- fgetpwent_r(3)
- getwchar_unlocked(3)
- mkdirat(2)
- dup(2)
- free_hugepages(2)
- feraiseexcept(3)
- lockf(3)
- userfaultfd(2)
- pthread_attr_setaffinity_np(3)
- memcpy(3)
- prlimit64(2)
- ferror(3)
- ldexpf(3)
- aio_return(3)
- adjtimex(2)
- execle(3)
- tailq(3)
- cabs(3)
- endaliasent(3)
- execvp(3)
- hasmntopt(3)
- if_freenameindex(3)
- signal(2)
- dn_comp(3)
- pthread_attr_getstack(3)
- ether_hostton(3)
- re_comp(3)
- cexp2l(3)
- getwd(3)
- llroundl(3)
- cos(3)
- pthread_mutex_consistent(3)
- isalpha_l(3)
- io_cancel(2)
- frexp(3)
- finitel(3)
- perf_event_open(2)
- pthread_exit(3)
- ioctl_console(2)
- timelocal(3)
- timersub(3)
- setresgid(2)
- semop(2)
- getgroups(2)
- envz_entry(3)
- xdr_u_long(3)
- seccomp(2)
- ftrylockfile(3)
- setuid(2)
- wcwidth(3)
- llround(3)
- cacoshf(3)
- pthread_attr_setschedpolicy(3)
- fgetpos(3)
- xdr_array(3)
- sprintf(3)
- wmemset(3)
- setcontext(3)
- copysignl(3)
- be64toh(3)
- matherr(3)
- hypotl(3)
- rawmemchr(3)
- fmodf(3)
- mount(2)
- mktime(3)
- stdarg(3)
- clnttcp_create(3)
- string(3)
- profil(3)
- clnt_perror(3)
- getpriority(2)
- regerror(3)
- clone2(2)
- getgid(2)
- pthread_spin_lock(3)
- iswblank(3)
- ftell(3)
- dup3(2)
- toascii(3)
- strncpy(3)
- mrand48_r(3)
- setstate(3)
- sigqueue(3)
- cpowf(3)
- setlogmask(3)
- sched_getcpu(3)
- htobe32(3)
- list(3)
- isdigit_l(3)
- chdir(2)
- fstat(2)
- pwritev2(2)
- get_thread_area(2)
- freelocale(3)
- acoshl(3)
- socketpair(2)
- scalbln(3)
- fpclassify(3)
- getpwnam(3)
- pthread_getcpuclockid(3)
- ioprio_get(2)
- strtok_r(3)
- exit_group(2)
- scalbnf(3)
- xdrrec_create(3)
- pthread_mutex_destroy(3)
- sqrt(3)
- dirname(3)
- exit(2)
- ulckpwdf(3)
- cargl(3)
- powerof2(3)
- simpleq(3)
- process_vm_writev(2)
- fdopendir(3)
- getpt(3)
- floorl(3)
- va_start(3)
- lcong48(3)
- strerror_l(3)
- xdrrec_eof(3)
- key_setsecret(3)
- lstat64(2)
- memfd_secret(2)
- sigreturn(2)
- casinhf(3)
- valloc(3)
- stat64(2)
- jn(3)
- sinl(3)
- pthread_testcancel(3)
- cfgetispeed(3)
- dup2(2)
- getnetent(3)
- pthread_setconcurrency(3)
- memccpy(3)
- rt_sigqueueinfo(2)
- ccosf(3)
- sincos(3)
- tcdrain(3)
- ccos(3)
- chmod(2)
- cacosf(3)
- lstat(2)
- pthread_spin_trylock(3)
- sigisemptyset(3)
- getrpcbyname(3)
- fpathconf(3)
- copysign(3)
- round(3)
- wmemchr(3)
- qfcvt_r(3)
- fattach(2)
- __fsetlocking(3)
- adjtime(3)
- makedev(3)
- des_crypt(3)
- iswspace(3)
- twalk(3)
- exec(3)
- link(2)
- fileno(3)
- endpwent(3)
- logb(3)
- wcscspn(3)
- console_ioctl(4)
- fgetpwent(3)
- setegid(2)
- clnt_destroy(3)
- getaddrinfo_a(3)
- svc_getargs(3)
- addmntent(3)
- globfree(3)
- islower(3)
- muntrace(3)
- clnt_pcreateerror(3)
- llrintl(3)
- clnt_control(3)
- fgetspent_r(3)
- strstr(3)
- putmsg(2)
- __fwritable(3)
- res_nsearch(3)
- fseeko(3)
- mq_timedreceive(3)
- log10(3)
- fexecve(3)
- gammaf(3)
- pthread_setschedparam(3)
- wcscpy(3)
- xdr_float(3)
- pthread_attr_setdetachstate(3)
- sem_wait(3)
- pow10l(3)
- re_exec(3)
- rand_r(3)
- putpmsg(2)
- getdelim(3)
- utimes(2)
- mq_close(3)
- setutent(3)
- creall(3)
- mq_send(3)
- telldir(3)
- powf(3)
- erfl(3)
- pthread_self(3)
- pselect6(2)
- unlocked_stdio(3)
- insw(2)
- cfsetspeed(3)
- argz_create(3)
- xdr_string(3)
- pthread_attr_getguardsize(3)
- finitef(3)
- setlocale(3)
- bcmp(3)
- fmtmsg(3)
- sendmsg(2)
- pthread_cleanup_push(3)
- inb_p(2)
- mmap64(3)
- getuid32(2)
- truncate(2)
- mlock2(2)
- fegetround(3)
- ugetrlimit(2)
- getprotobynumber_r(3)
- utmpxname(3)
- isinf(3)
- clearerr_unlocked(3)
- stime(2)
- nftw(3)
- duplocale(3)
- svcraw_create(3)
- svc_getcaller(3)
- ctanhl(3)
- cbrt(3)
- floorf(3)
- sethostid(3)
- sigemptyset(3)
- sigaltstack(2)
- mkfifo(3)
- lsearch(3)
- getservent_r(3)
- islessgreater(3)
- floor(3)
- argz_append(3)
- tzset(3)
- res_mkquery(3)
- fstatat(2)
- strchr(3)
- semtimedop(2)
- bindresvport(3)
- tcsetattr(3)
- warn(3)
- getservent(3)
- atanhl(3)
- tdelete(3)
- ynf(3)
- ether_ntoa_r(3)
- fesetenv(3)
- mq_timedsend(3)
- quotactl(2)
- init_module(2)
- rcmd(3)
- fenv(3)
- getutxid(3)
- pthread_mutexattr_getpshared(3)
- scalbnl(3)
- atan2l(3)
- argz_count(3)
- rpmatch(3)
- timerfd_gettime(2)
- ualarm(3)
- pthread_attr_init(3)
- vdprintf(3)
- pthread_cancel(3)
- fflush(3)
- setkey_r(3)
- mbstowcs(3)
- mremap(2)
- strcasestr(3)
- hcreate_r(3)
- siginterrupt(3)
- offsetof(3)
- atan(3)
- wctomb(3)
- getutent(3)
- significand(3)
- arm_fadvise64_64(2)
- dremf(3)
- wcswidth(3)
- syscall(2)
- rintf(3)
- bswap_64(3)
- pthread_attr_getschedparam(3)
- lroundf(3)
- timegm(3)
- posix_fadvise(2)
- getrlimit(2)
- svc_freeargs(3)
- xdr_enum(3)
- hcreate(3)
- ptrace(2)
- backtrace_symbols_fd(3)
- fetestexcept(3)
- ccosh(3)
- htole32(3)
- kexec_load(2)
- fallocate(2)
- timer_gettime(2)
- tgammaf(3)
- errno(3)
- sched_get_priority_max(2)
- xdr_getpos(3)
- vwprintf(3)
- ssetmask(2)
- ether_ntoa(3)
- waitpid(2)
- sched_getattr(2)
- inotify_init(2)
- fma(3)
- gnu_get_libc_version(3)
- svctcp_create(3)
- wcstombs(3)
- gethostname(2)
- strerror_r(3)
- sigismember(3)
- fgetws_unlocked(3)
- hash(3)
- circleq(3)
- getrpcbynumber_r(3)
- pthread_cond_timedwait(3)
- uname(2)
- fgetc_unlocked(3)
- mq_open(3)
- cosl(3)
- rewinddir(3)
- nextdown(3)
- longjmp(3)
- execv(3)
- iconv_open(3)
- xencrypt(3)
- ctermid(3)
- isgraph_l(3)
- move_pages(2)
- isunordered(3)
- msgsnd(2)
- rt_sigtimedwait(2)
- syncfs(2)
- mlockall(2)
- pthread_getschedparam(3)
- lsetxattr(2)
- getutid_r(3)
- log1pl(3)
- catanf(3)
- passwd2des(3)
- iconv_close(3)
- aligned_alloc(3)
- sched_setscheduler(2)
- gmtime(3)
- __free_hook(3)
- acoshf(3)
- mtrace(3)
- resolver(3)
- clog10f(3)
- sethostname(2)
- pthread_attr_setguardsize(3)
- tuxcall(2)
- atanh(3)
- ispunct_l(3)
- svcudp_bufcreate(3)
- ctanh(3)
- j1l(3)
- log10l(3)
- alloca(3)
- sigpending(2)
- nexttoward(3)
- isnormal(3)
- svc_getreq(3)
- putchar(3)
- getnetbyaddr(3)
- cpowl(3)
- get_kernel_syms(2)
- getutline_r(3)
- pthread_setaffinity_np(3)
- isnan(3)
- getprotoent(3)
- catclose(3)
- getsid(2)
- endrpcent(3)
- fts_close(3)
- gnu_dev_minor(3)
- ruserok_af(3)
- getutent_r(3)
- getegid(2)
- sgetmask(2)
- posix_memalign(3)
- atanf(3)
- unshare(2)
- lremovexattr(2)
- strncasecmp(3)
- endutent(3)
- updwtmpx(3)
- outsw(2)
- sched_getparam(2)
- setuid32(2)
- catgets(3)
- nextupl(3)
- openat(2)
- logout(3)
- free(3)
- setfsuid(2)
- getutline(3)
- svc_sendreply(3)
- fadvise64_64(2)
- cargf(3)
- __ppc_set_ppr_low(3)
- casinh(3)
- outb_p(2)
- fputwc(3)
- log10f(3)
- getnetgrent(3)
- fputws_unlocked(3)
- ffsl(3)
- endttyent(3)
- isgreater(3)
- sigmask(3)
- sgetspent_r(3)
- fmaxf(3)
- openlog(3)
- strncmp(3)
- closedir(3)
- rexec_af(3)
- exp2(3)
- mcheck(3)
- isalpha(3)
- pthread_mutex_init(3)
- catopen(3)
- clock_nanosleep(2)
- ioctl(2)
- remainder(3)
- olduname(2)
- getcpu(2)
- setns(2)
- asinhl(3)
- wcscasecmp(3)
- nearbyintl(3)
- atan2f(3)
- wctob(3)
- nextdownf(3)
- gmtime_r(3)
- fmal(3)
- setfsgid32(2)
- dlinfo(3)
- posix_spawnp(3)
- fgets_unlocked(3)
- major(3)
- fseek(3)
- xdr_callhdr(3)
- execve(2)
- exit(3)
- makecontext(3)
- sysctl(2)
- oldolduname(2)
- getgrouplist(3)
- pthread_getattr_np(3)
- ffs(3)
- sem_init(3)
- gcvt(3)
- fts_children(3)
- rt_sigreturn(2)
- mallinfo(3)
- insl(2)
- geteuid(2)
- signalfd(2)
- erfcl(3)
- sched_get_priority_min(2)
- sched_setaffinity(2)
- wcsrchr(3)
- xdr_reference(3)
- snprintf(3)
- delete_module(2)
- j0f(3)
- malloc_hook(3)
- casinf(3)
- y0f(3)
- endgrent(3)
- y1l(3)
- pthread_create(3)
- wcsncasecmp(3)
- pidfd_getfd(2)
- htobe64(3)
- _sysctl(2)
- lrand48_r(3)
- warnx(3)
- lgammaf_r(3)
- verrx(3)
- finit_module(2)
- gsignal(3)
- recvfrom(2)
- log2(3)
- fflush_unlocked(3)
- getaliasbyname_r(3)
- pthread_mutexattr_setrobust(3)
- getdirentries(3)
- getrpcbyname_r(3)
- ppoll(2)
- tmpfile(3)
- isupper_l(3)
- xdr_free(3)
- res_nquery(3)
- fts_open(3)
- shutdown(2)
- xdr_callmsg(3)
- coshl(3)
- ntp_gettimex(3)
- afs_syscall(2)
- be32toh(3)
- fchmodat(2)
- addseverity(3)
- pause(2)
- strcmp(3)
- mkostemps(3)
- wcsrtombs(3)
- scandir(3)
- __freadable(3)
- killpg(3)
- add_key(2)
- strcoll(3)
- migrate_pages(2)
- pthread_setattr_default_np(3)
- pthread_attr_setsigmask_np(3)
- sigabbrev_np(3)
- readdir(2)
- subpage_prot(2)
- strfromf(3)
- sysv_signal(3)
- gethostbyname2_r(3)
- outl_p(2)
- sync(2)
- pthread_attr_getinheritsched(3)
- socket(2)
- msgrcv(2)
- fgetws(3)
- pthread_cleanup_push_defer_np(3)
- getnetgrent_r(3)
- ynl(3)
- endservent(3)
- srand(3)
- endmntent(3)
- cbrtl(3)
- setitimer(2)
- pmap_rmtcall(3)
- svcerr_systemerr(3)
- fesetround(3)
- ilogbf(3)
- __fwriting(3)
- log1p(3)
- futimens(3)
- xdrrec_endofrecord(3)
- setreuid32(2)
- swab(3)
- pthread_spin_init(3)
- memchr(3)
- fminf(3)
- getipnodebyname(3)
- msgop(2)
- wait(2)
- ether_aton_r(3)
- open_wmemstream(3)
- xdr_bool(3)
- pthread_tryjoin_np(3)
- xdr_int(3)
- inet_net_ntop(3)
- fdimf(3)
- srand48(3)
- xdr_setpos(3)
- asinf(3)
- program_invocation_name(3)
- write(2)
- mkdtemp(3)
- pthread_cleanup_pop(3)
- ptsname_r(3)
- lgammal_r(3)
- pthread_attr_getstackaddr(3)
- authunix_create(3)
- getpmsg(2)
- ceill(3)
- cexp2f(3)
- kcmp(2)
- setup(2)
- err(3)
- sync_file_range2(2)
- getpid(2)
- wcsncat(3)
- envz_get(3)
- futimes(3)
- mincore(2)
- herror(3)
- ether_line(3)
- feholdexcept(3)
- fputc(3)
- keyctl(2)
- timer_delete(2)
- posix_spawn(3)
- faccessat2(2)
- setnetgrent(3)
- pwrite(2)
- aio_read(3)
- shmget(2)
- acosh(3)
- sigdelset(3)
- __ppc_get_timebase(3)
- __flbf(3)
- dladdr1(3)
- argz_create_sep(3)
- mblen(3)
- gethostent(3)
- pciconfig_iobase(2)
- recvmmsg(2)
- isprint_l(3)
- csqrtf(3)
- wcstoimax(3)
- hsearch_r(3)
- svcudp_create(3)
- setreuid(2)
- le16toh(3)
- name_to_handle_at(2)
- strftime_l(3)
- pthread_attr_setschedparam(3)
- eventfd(2)
- atanhf(3)
- pthread_setspecific(3)
- pthread_cond_init(3)
- acosl(3)
- llistxattr(2)
- fputwc_unlocked(3)
- scanf(3)
- getmntent_r(3)
- getchar(3)
- res_ninit(3)
- error_one_per_line(3)
- sigsetmask(3)
- putwchar(3)
- llroundf(3)
- rt_sigpending(2)
- send(2)
- wcsstr(3)
- log2l(3)
- fmod(3)
- va_copy(3)
- res_search(3)
- res_nsend(3)
- res_query(3)
- wait3(2)
- encrypt_r(3)
- system(3)
- close_range(2)
- ecvt_r(3)
- read(2)
- auth_destroy(3)
- realloc(3)
- pipe2(2)
- dn_expand(3)
- timerclear(3)
- get_avphys_pages(3)
- mbsnrtowcs(3)
- strtok(3)
- fwide(3)
- __ppc_get_timebase_freq(3)
- gai_suspend(3)
- stpcpy(3)
- lldiv(3)
- iswxdigit(3)
- posix_openpt(3)
- s390_pci_mmio_write(2)
- pthread_spin_destroy(3)
- callrpc(3)
- getifaddrs(3)
- aio_suspend(3)
- fread_unlocked(3)
- get_nprocs_conf(3)
- getuid(2)
- spu_run(2)
- termios(3)
- umask(2)
- csqrtl(3)
- register_printf_modifier(3)
- sem_trywait(3)
- tee(2)
- msync(2)
- mpool(3)
- setdomainname(2)
- fopencookie(3)
- nl_langinfo(3)
- sockatmark(3)
- getspent_r(3)
- casinhl(3)
- fdiml(3)
- ntohs(3)
- fgets(3)
- time(2)
- casinl(3)
- pthread_detach(3)
- seccomp_unotify(2)
apt-get install manpages-dev
Available languages:
en fr jaManual
madvise
NOMBIBLIOTHĂQUE
SYNOPSIS
DESCRIPTION
Valeurs de conseil conventionnelles
Valeurs de conseil spécifiques à Linux
VALEUR RENVOYĂE
ERREURS
VERSIONS
Linux
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION
NOM
madvise - Configurer lâutilisation de la mĂ©moire
BIBLIOTHĂQUE
BibliothĂšque C standard ( libc , -lc )
SYNOPSIS
#include <sys/mman.h>
int madvise(void addr [. length ], size_t length , int advice );
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :
madvise
()Â :
Depuis la glibc 2.19Â :
_DEFAULT_SOURCE
JusquâĂ la glibc 2.19 incluse :
_BSD_SOURCE
DESCRIPTION
Lâappel systĂšme madvise () est utilisĂ© pour conseiller ou orienter le noyau quant Ă la plage dâadresses commençant Ă addr et de taille length . madvise () nâagit que sur des pages entiĂšres, addr doit donc ĂȘtre alignĂ©e sur une page. La valeur de length est arrondie au multiple supĂ©rieur de la taille de page. Dans la plupart des cas, le but de tels conseils est dâamĂ©liorer les performances du systĂšme ou dâune application.
Initialement, lâappel systĂšme gĂ©rait un ensemble de valeurs de advice « conventionnelles », disponibles aussi sur dâautres implĂ©mentations (notez toutefois que madvise () nâest pas spĂ©cifiĂ© dans POSIX). Par consĂ©quent, un certain nombre de valeurs de advice spĂ©cifiques Ă Linux ont Ă©tĂ© ajoutĂ©es.
Valeurs de conseil conventionnelles
Les valeurs de advice (conseil) listĂ©es ci-dessous permettent Ă une application dâindiquer au noyau lâutilisation quâelle compte faire de certaines zones de mĂ©moire partagĂ©e ou projetĂ©e de façon Ă ce que le noyau puisse choisir les techniques de lecture anticipĂ©e et de mise en cache appropriĂ©es. Ces valeurs advice ne modifient pas la sĂ©mantique de lâapplication (sauf dans le cas de MADV_DONTNEED ), mais peuvent avoir un impact sur ses performances. Toutes les valeurs de advice listĂ©es ici ont un pendant dans la fonction posix_madvise (3) spĂ©cifiĂ©e par POSIX et elles ont la mĂȘme signification, sauf MADV_DONTNEED .
Le conseil est
spécifié par le paramÚtre
advice
qui peut ĂȘtre un des suivants :
MADV_NORMAL
Pas de traitement particulier. Il sâagit du comportement par dĂ©faut.
MADV_RANDOM
PrĂ©voir des rĂ©fĂ©rences de page dans un ordre alĂ©atoire. (Ainsi, la lecture anticipĂ©e sera moins utile quâelle ne lâest en gĂ©nĂ©ral.)
MADV_SEQUENTIAL
PrĂ©voir des rĂ©fĂ©rences de page dans un ordre sĂ©quentiel. (Ainsi, les pages dâune plage donnĂ©e peuvent ĂȘtre systĂ©matiquement lues par anticipation, et peuvent ĂȘtre libĂ©rĂ©es rapidement aprĂšs avoir Ă©tĂ© accĂ©dĂ©es.)
MADV_WILLNEED
PrĂ©voir un accĂšs dans un futur proche. (Ainsi, lire quelques pages de façon anticipĂ©e peut ĂȘtre une bonne idĂ©e.)
MADV_DONTNEED
Ne pas sâattendre Ă un accĂšs dans un futur proche (quant au temps, lâapplication est finie avec la plage donnĂ©e, pour que le noyau puisse libĂ©rer des ressources qui lui sont associĂ©es).
AprĂšs une opĂ©ration MADV_DONTNEED rĂ©ussie, la sĂ©mantique de lâaccĂšs en mĂ©moire dans la rĂ©gion indiquĂ©e est modifiĂ©e : les accĂšs suivants des pages rĂ©ussiront, mais provoqueront un nouveau remplissage de la mĂ©moire soit avec le contenu Ă jour du fichier transposĂ© sous-jacent (pour les mappages de fichiers partagĂ©s, ceux anonymes partagĂ©s et les techniques basĂ©es sur shmem telles que les segments de mĂ©moire partagĂ©e de System V), soit avec les pages remplies de zĂ©ros Ă la demande pour les tableaux privĂ©s anonymes.
Remarquez quâappliquĂ©e Ă des mappages partagĂ©s, MADV_DONTNEED pourrait ne pas aboutir Ă une libĂ©ration immĂ©diate des pages dans la plage. Le noyau est libre de retarder la libĂ©ration des pages jusquâau bon moment. La mĂ©moire rĂ©sidente (resident set size, ou RSS) du processus appelant sera par contre immĂ©diatement rĂ©duite.
MADV_DONTNEED ne peut pas sâappliquer Ă des pages verrouillĂ©es ou Ă des pages VM_PFNMAP (les pages marquĂ©es par lâattribut VM_PFNMAP interne au noyau sont des rĂ©gions de mĂ©moire spĂ©ciales non gĂ©rĂ©es par le sous-systĂšme de mĂ©moire virtuelle. De telles pages sont gĂ©nĂ©ralement créées par des pilotes de pĂ©riphĂ©rique transposant les pages dans lâespace utilisateur).
La prise en charge des pages immenses TLB a Ă©tĂ© ajoutĂ©e Ă Linux 5.18. Les adresses dâun mappage stockĂ©es par des pages immenses TLB doivent ĂȘtre alignĂ©es sur la taille de la page immense TLB sous-jacente et la taille de la plage est arrondie Ă un multiple supĂ©rieur de la taille de la page immense TLB sous-jacente.
Valeurs de conseil spécifiques à Linux
Les valeurs
advice
suivantes spécifiques à Linux
nâont pas dâĂ©quivalent dans le
posix_madvise
(3) spécifié par POSIX et
peuvent en avoir ou pas dans lâinterface
madvise
() disponible sur dâautres
implémentations. Notez que certaines de ces
opérations modifient la sémantique des
accÚs en mémoire.
MADV_REMOVE
(depuis Linux 2.6.16)
LibĂ©rer jusquâĂ une plage donnĂ©e de pages et son stockage de repli associĂ©. Cela revient Ă faire un trou dans la plage dâoctets correspondante du stockage de secours (voir fallocate (2)). Les accĂšs suivants Ă la plage dâadresses indiquĂ©e verront des donnĂ©es de valeur zĂ©ro.
La plage dâadresses indiquĂ©e doit ĂȘtre transposĂ©e, partagĂ©e et accessible en Ă©criture. Cet attribut ne peut pas ĂȘtre appliquĂ© Ă des pages verrouillĂ©es ou Ă des pages VM_PFNMAP .
Dans lâimplĂ©mentation initiale, seul tmpfs (5) prenait en charge MADV_REMOVE ; mais depuis Linux 3.5, tous les systĂšmes de fichiers qui prennent en charge le mode FALLOC_FL_PUNCH_HOLE de fallocate (2) gĂšrent Ă©galement MADV_REMOVE . Les systĂšmes de fichiers qui ne gĂšrent pas MADV_REMOVE Ă©chouent avec lâerreur EOPNOTSUPP .
La prise en charge du systÚme de fichier de page immense TLB a été ajoutée à Linux 4.3.
MADV_DONTFORK (depuis Linux 2.6.16)
Ne pas rendre les pages de cette plage disponibles Ă lâenfant aprĂšs un fork (2). Cela est utile pour empĂȘcher la sĂ©mantique de copie Ă lâĂ©criture de changer lâemplacement physique dâune page si le parent y Ă©crit aprĂšs un fork (2) (de tels dĂ©placements posent des problĂšmes si le matĂ©riel accĂšde directement Ă la page (DMA)).
MADV_DOFORK (depuis Linux 2.6.16)
Annuler lâeffet de MADV_DONTFORK et restaurer le comportement par dĂ©faut, oĂč un mappage est rĂ©cupĂ©rĂ© Ă lâaide de fork (2).
MADV_HWPOISON (depuis Linux 2.6.32)
Empoisonner les pages dans la plage indiquĂ©e par addr et length et traiter les rĂ©fĂ©rences ultĂ©rieures Ă ces pages comme une corruption de la mĂ©moire matĂ©rielle. Cette opĂ©ration nâest disponible que pour les processus privilĂ©giĂ©s ( CAP_SYS_ADMIN ). Ă la suite de cette opĂ©ration, le processus appelant peut recevoir un SIGBUS et la page devenir non affectĂ©e.
Cette fonctionnalitĂ© est conçue pour tester du code de gestion des erreurs de mĂ©moire ; elle nâest disponible que si le noyau a Ă©tĂ© configurĂ© avec CONFIG_MEMORY_FAILURE .
MADV_MERGEABLE (depuis Linux 2.6.32)
Activer la fusion des pages identiques par le noyau ( Kernel Samepage Merging , ou KSM) pour les pages dans la plage spĂ©cifiĂ©e par addr et length . Le noyau analyse rĂ©guliĂšrement les rĂ©gions de la mĂ©moire utilisateur qui ont Ă©tĂ© marquĂ©es comme pouvant ĂȘtre fusionnĂ©es, Ă la recherche de pages avec un contenu identique. Elles sont remplacĂ©es par une page unique protĂ©gĂ©e en Ă©criture (qui sera automatiquement recopiĂ©e si un processus veut plus tard modifier le contenu de la page). KSM ne fusionne que les pages anonymes privĂ©es (consultez mmap (2)).
La fonctionnalitĂ© KSM est prĂ©vue pour des applications qui gĂ©nĂšrent de nombreuses instances avec les mĂȘmes donnĂ©es (comme les systĂšmes de virtualisation tels que KVM). Cela consomme beaucoup de puissance de calcul ; utilisez-la prudemment. Voir le fichier Documentation/admin-guide/mm/ksm.rst des sources du noyau Linux pour plus de dĂ©tails.
Les opérations MADV_MERGEABLE et MADV_UNMERGEABLE ne sont disponibles que si le noyau a été configuré avec CONFIG_KSM .
MADV_UNMERGEABLE (depuis Linux 2.6.32)
Annuler lâeffet dâune opĂ©ration MADV_MERGEABLE prĂ©cĂ©dente sur la plage dâadresses spĂ©cifiĂ©e ; KSM annule la fusion sur les pages qui avaient Ă©tĂ© fusionnĂ©es dans la plage spĂ©cifiĂ©e par addr et length .
MADV_SOFT_OFFLINE (depuis Linux 2.6.33)
DĂ©connecter en douceur les pages dans la plage spĂ©cifiĂ©e par addr et length . La mĂ©moire de chaque page dans la plage spĂ©cifiĂ©e est prĂ©servĂ©e (lors du prochain accĂšs, le mĂȘme contenu sera visible, mais dans une nouvelle page physique), et la page originale est dĂ©connectĂ©e (ce qui signifie quâelle nâest plus utilisĂ©e, et plus prise en compte par les mĂ©canismes habituels de gestion de la mĂ©moire). Lâeffet de lâopĂ©ration MADV_SOFT_OFFLINE est invisible au processus appelant (câest-Ă -dire quâelle nâen change pas la sĂ©mantique).
Cette fonctionnalitĂ© est conçue pour tester du code de gestion des erreurs de mĂ©moire ; elle nâest disponible que si le noyau a Ă©tĂ© configurĂ© avec CONFIG_MEMORY_FAILURE .
MADV_HUGEPAGE (depuis Linux 2.6.38)
Activer la gestion transparente des pages immenses ( Transparent Huge Pages , ou THP) pour les pages dans la plage spécifiée par addr et length . Le noyau analysera réguliÚrement les régions qui ont été marquées comme candidates aux pages immenses pour les remplacer par des pages immenses. Le noyau allouera aussi des pages immenses directement quand la région est naturellement alignée sur la taille de page immense (consultez posix_memalign (2)).
Cette fonctionnalitĂ© est dâabord destinĂ©e aux applications qui utilisent tout Ă la fois de grands mappages, beaucoup de donnĂ©es et de grandes rĂ©gions dâaccĂšs Ă la mĂ©moire (comme les systĂšmes de virtualisation tels que QEMU). Elle peut facilement consommer beaucoup de mĂ©moire (par exemple un tableau de 2 Mo qui nâaccĂšde quâĂ un octet dĂ©pensera 2 Mo de mĂ©moire et non une page de 4 Ko). Voir le fichier Documentation/admin-guide/mm/transhuge.rst des sources du noyau Linux pour plus de dĂ©tails.
La plupart des configurations de noyaux classiques fournissent un comportement Ă la maniĂšre de MADV_HUGEPAGE par dĂ©faut, et ainsi MADV_HUGEPAGE nâest normalement pas nĂ©cessaire. Il est le plus souvent utile pour les systĂšmes embarquĂ©s oĂč un comportement de type MADV_HUGEPAGE peut ne pas ĂȘtre activĂ© par dĂ©faut dans le noyau. Sur de tels systĂšmes, cet attribut peut ĂȘtre utilisĂ© pour activer THP de maniĂšre sĂ©lective. Ă chaque fois que MADV_HUGEPAGE est utilisĂ©, il devrait toujours lâĂȘtre dans des rĂ©gions de la mĂ©moire oĂč le dĂ©veloppeur sait Ă lâavance que le motif dâaccĂšs ne risquera pas dâaugmenter lâempreinte de lâapplication quand les pages immenses transparentes sont actives.
Depuis Linux 5.4, une analyse automatique des zones Ă©ligibles et des remplacements par des pages immenses sâeffectue sur les pages anonymes et privĂ©es (voir mmap (2)), des pages shmem et des pages mises en cache. Pour tous les types de mĂ©moire, la mĂ©moire ne peut ĂȘtre remplacĂ©e que par des pages immenses sur des limites alignĂ©es sur les pages immenses. Pour la mĂ©moire projetĂ©e sur un fichier (y compris tmpfs (voir tmpfs (2)), le mappage doit naturellement ĂȘtre aussi alignĂ© sur une page immense dans le fichier. De plus, pour les fichiers sauvegardĂ©s, la mĂ©moire non tmpfs, le fichier ne doit pas ĂȘtre accessible en Ă©criture et le tableau doit ĂȘtre exĂ©cutable.
La VMA ne doit pas avoir de mrquage VM_NOHUGEPAGE , VM_HUGETLB , VM_IO , VM_DONTEXPAND , VM_MIXEDMAP ou VM_PFNMAP , et elle ne peut pas non plus ĂȘtre une mĂ©moire de pile ou une mĂ©moire de secours pour un pĂ©riphĂ©rique oĂč DAX est activĂ© (sauf si ce pĂ©riphĂ©rique est branchĂ© Ă chaud en tant que RAM du systĂšme). Le processus ne doit pas avoir de PR_SET_THP_DISABLE positionnĂ© (voir prctl (2)).
Les opérations MADV_HUGEPAGE , MADV_NOHUGEPAGE et MADV_COLLAPSE ne sont disponibles que si le noyau a été configuré avec CONFIG_TRANSPARENT_HUGEPAGE et la mémoire pour les fichiers/shmem est seulement prise en charge que si le noyau a été configuré avec CONFIG_READ_ONLY_THP_FOR_FS .
MADV_NOHUGEPAGE (depuis Linux 2.6.38)
Sâassurer que la mĂ©moire dans la plage spĂ©cifiĂ©e par addr et length ne sera pas gĂ©rĂ©e dans des pages immenses transparentes.
MADV_COLLAPSE (depuis Linux 6.1)
Effectuer une suppression synchronisĂ©e autant que possible avec les pages natives projetĂ©es par la plage de mĂ©moire en Transparent Huge Pages (THP). MADV_COLLAPSE agit sur lâĂ©tat actuel de la mĂ©moire du processus appelant et ne fait aucun changement permanent ou ne garantit rien sur la maniĂšre dont les pages seront projetĂ©es, construites ou dĂ©faillantes dans le futur.
/ MADV_COLLAPSE gĂšre les pages anonymes privĂ©es (voir mmap (2)), les pages shmem et les pages mises en cache. Voir MADV_HUGEPAGE pour des informations gĂ©nĂ©rales sur les exigences de mĂ©moire de THP. Si la plage fournie couvre plusieurs VMA, la sĂ©mantique de la suppression dans chaque VMA est indĂ©pendante des autres. Si la suppression dâune rĂ©gion dimensionnĂ©e ou alignĂ©e sur une page immense donnĂ©e Ă©choue, lâopĂ©ration peut continuer Ă essayer de supprimer le reste de la mĂ©moire indiquĂ©e. MADV_COLLAPSE alignera automatiquement la plage fournie sur la page immense.
Toutes les pages non rĂ©sidentes faisant partie de la plage seront dâabord Ă©changĂ©es ou mises en erreur, avant dâĂȘtre copiĂ©es sur une page immense fraĂźchement allouĂ©e. Si les pages natives reprĂ©sentent la mĂȘme page immense projetĂ©e en PTE et si elles sont alignĂ©es correctement, lâallocation dâune nouvelle page immense peut ĂȘtre Ă©vitĂ©e et la suppression peut se faire directement. Les pages non projetĂ©es verront leurs donnĂ©es initialisĂ©es directement Ă 0 dans la nouvelle page immense. Toutefois, pour chaque rĂ©gion Ă©ligible dimensionnĂ©e/alignĂ©e sur une page immense Ă supprimer, au moins une page doit ĂȘtre rĂ©cupĂ©rĂ©e par la mĂ©moire physique.
MADV_COLLAPSE est indĂ©pendant du paramĂ©trage du sysfs (voir sysfs (5)) dans /sys/kernel/mm/transparent_hugepage , tant pour dĂ©terminer lâĂ©ligibilitĂ© THP que la sĂ©mantique dâallocation. Voir le fichier Documentation/admin-guide/mm/transhuge.rst des sources du noyau Linux pour plus dâinformations. MADV_COLLAPSE ignore Ă©galement le montage tmpfs huge= lorsquâil agit sur des fichiers tmpfs. Lâallocation de nouvelles pages immenses peut entamer une libĂ©ration/compactage directs indĂ©pendamment des attributs de la VMA (encore que VM_NOHUGEPAGE est toujours respectĂ©).
Lorsque le systĂšme a plusieurs nĆuds NUMA, la page immense sera allouĂ©e Ă partir du nĆud contenant les pages les plus natives.
Si toutes les rĂ©gions dimensionnĂ©es ou alignĂ©es sur la page immense et incluses dans la plage fournie ont Ă©tĂ© supprimĂ©es avec succĂšs ou si les THP ont dĂ©jĂ Ă©tĂ© projetĂ©es PMD, cette opĂ©ration se terminera avec succĂšs. Remarquez que cela ne garantit rien quant aux autres projections possibles de la mĂ©moire. Si plusieurs zones dimensionnĂ©es ou alignĂ©es sur une page immense Ă©chouent Ă ĂȘtre supprimĂ©es, seul le code dâerreur le plus rĂ©cent sera positionnĂ© dans errno .
MADV_DONTDUMP (depuis Linux 3.4)
Exclure de lâimage mĂ©moire (« core dump ») les pages dans la plage indiquĂ©e par addr et length . Câest utile pour les applications dont de larges zones de mĂ©moire sont notoirement inutiles dans une image mĂ©moire. Lâeffet de MADV_DONTDUMP est prioritaire sur le masque de bits configurĂ© Ă lâaide de /proc/ pid /coredump_filter , consultez core (5).
MADV_DODUMP (depuis Linux 3.4)
Annuler lâeffet dâun MADV_DONTDUMP antĂ©rieur.
MADV_FREE (depuis Linux 4.5)
Lâapplication nâa plus besoin des pages dans la plage indiquĂ©e par addr et length . Le noyau peut ainsi libĂ©rer ces pages mais cela pourrait ĂȘtre diffĂ©rĂ© jusquâĂ une pression de la mĂ©moire. Pour chacune des pages marquĂ©es comme libĂ©rables mais non encore libĂ©rĂ©es, lâopĂ©ration sera annulĂ©e si lâappelant Ă©crit dans la page. AprĂšs une opĂ©ration MADV_FREE rĂ©ussie, toutes les donnĂ©es pĂ©rimĂ©es (câest-Ă -dire les pages sales ou non Ă©crites) seront perdues quand le noyau libĂšrera les pages. Cependant, les Ă©critures suivantes dans les pages de la plage auront lieu et le noyau ne pourra pas libĂ©rer ces pages salies, de sorte que lâappelant pourra toujours voir les donnĂ©es qui viennent dâĂȘtre Ă©crites. Sâil nây a pas dâĂ©criture ultĂ©rieure, le noyau peut libĂ©rer les pages nâimporte quand. Une fois que les pages de la plage ont Ă©tĂ© libĂ©rĂ©es, lâappelant verra des pages remplies de zĂ©ros Ă la demande Ă chaque rĂ©fĂ©rence ultĂ©rieure aux pages.
LâopĂ©ration MADV_FREE ne peut sâappliquer quâĂ des pages anonymes privĂ©es (voir mmap (2)). Avant Linux 4.12, avant de libĂ©rer des pages sur un systĂšme sans espace dâĂ©change, les pages dans la plage donnĂ©e Ă©taient libĂ©rĂ©es instantanĂ©ment indĂ©pendamment de la pression sur la mĂ©moire.
MADV_WIPEONFORK (depuis Linux 4.14
Afficher le processus enfant avec une mĂ©moire pleine de zĂ©ros dans cette plage aprĂšs un fork (2). Cela est utile quand on rĂ©plique (fork) un serveur pour sâassurer que les donnĂ©es sensibles au processus (par exemple les graines PRNG, les codes de chiffrement et ainsi de suite) ne soient pas capturĂ©es par les processus enfants.
LâopĂ©ration MADV_WIPEONFORK ne peut sâappliquer quâaux pages anonymes privĂ©es (voir mmap (2)).
Dans lâenfant créé par fork (2), le paramĂštre MADV_WIPEONFORK reste en place sur la plage dâadresses indiquĂ©e. Ce paramĂštre est vidĂ© lors dâun execve (2).
MADV_KEEPONFORK (depuis Linux 4.14)
Annuler lâeffet dâun MADV_WIPEONFORK antĂ©rieur.
MADV_COLD (depuis Linux 5.4)
DĂ©sactiver une plage de pages donnĂ©e. Cela en fera des cibles de libĂ©ration plus probables en cas de pression sur la mĂ©moire. Il sâagit dâune opĂ©ration non destructive. Ce conseil pourrait ĂȘtre ignorĂ© pour certaines pages de la plage sâil nâest pas applicable.
MADV_PAGEOUT (depuis Linux 5.4)
LibĂ©rer une plage de pages donnĂ©e. Cela est utilisĂ© pour libĂ©rer de la mĂ©moire occupĂ©e par ces pages. Si une page est anonyme, elle peut ĂȘtre Ă©changĂ©e. Si une page est mise en cache et sale, elle sera réécrite dans le stockage de repli. Le conseil pourrait ĂȘtre ignorĂ© pour certaines pages de la plage sâil nâest pas applicable.
MADV_POPULATE_READ (depuis Linux 5.14)
Peupler (prefault) les tables de pages lisibles, mettant en erreur toutes les pages de la plage comme si on la lisait manuellement Ă partir de chaque page ; par contre Ă©viter lâaccĂšs rĂ©el en mĂ©moire qui aurait Ă©tĂ© fait aprĂšs la gestion des erreurs.
Contrairement Ă MAP_POPULATE , MADV_POPULATE_READ ne cache pas les erreurs, il peut ĂȘtre appliquĂ© Ă tout ou partie des mappages existants et il peuplera (prefault) toujours les tables de pages lisibles. Un exemple dâutilisation est de peupler un tableau de fichier, en lisant tout le contenu du fichier Ă partir du disque ; mais les pages ne seront pas salies, donc il ne faudra pas les réécrire sur le disque lorsquâon les sortira de la mĂ©moire.
Selon le mappage sous-jacent, projeter la page de zĂ©ros partagĂ©e, prĂ©-allouer la mĂ©moire ou lire le fichier sous-jacent ; les fichiers contenant des trous pourraient ou pas prĂ©-allouer des blocs. Si le peuplement Ă©choue, aucun signal SIGBUS nâest gĂ©nĂ©rĂ© mais une erreur est renvoyĂ©e.
Si MADV_POPULATE_READ réussit, tous les tables de pages ont été peuplées (prefaulted) et lisibles une fois. Si MADV_POPULATE_READ échoue, certaines tables de page pourraient avoir été peuplées.
MADV_POPULATE_READ ne peut pas ĂȘtre appliquĂ© aux mappages sans droit de lecture ni projections spĂ©ciales, par exemple celles marquĂ©es par des drapeaux tels que VM_PFNMAP ou VM_IO , ou Ă des rĂ©gions de mĂ©moire secrĂštes créées par en utilisant memfd_secret(2) .
Remarquez quâavec MADV_POPULATE_READ , le processus peut ĂȘtre tuĂ© nâimporte quand si le systĂšme nâa plus assez de mĂ©moire.
MADV_POPULATE_WRITE (depuis Linux 5.14)
Peupler (prefault) les tables de pages lisibles, mettant en erreur toutes les pages de la plage comme si on Ă©crivait manuellement dans chaque page ; par contre Ă©viter lâaccĂšs rĂ©el en mĂ©moire qui aurait Ă©tĂ© fait aprĂšs la gestion des erreurs.
Contrairement Ă MAP_POPULATE , MADV_POPULATE_WRITE ne cache pas les erreurs, il peut ĂȘtre appliquĂ© Ă tout ou partie des mappages existants et il peuplera (prefault) toujours les tables de pages accessibles en Ă©criture. Un exemple dâutilisation est de prĂ©-allouer de la mĂ©moire et dâinterrompre toute copie sur Ă©criture.
Selon le mappage sous-jacent, projeter la page de zĂ©ros partagĂ©e, prĂ©-allouer la mĂ©moire ou lire le fichier sous-jacent ; les fichiers contenant des trous prĂ©-alloueront des blocs. Si le peuplement Ă©choue, aucun signal SIGBUS nâest gĂ©nĂ©rĂ© mais une erreur est renvoyĂ©e.
Si MADV_POPULATE_WRITE réussit, tous les tables de pages ont été peuplés (prefaulted) et écrits une fois. Si MADV_POPULATE_WRITE échoue, certaines tables de page pourraient avoir été peuplées.
MADV_POPULATE_WRITE ne peut pas ĂȘtre appliquĂ© aux mappages sans droit dâĂ©criture ni projections spĂ©ciales, par exemple celles marquĂ©es par des drapeaux tels que VM_PFNMAP ou VM_IO , ou Ă des rĂ©gions de mĂ©moire secrĂštes créées par en utilisant memfd_secret(2) .
Remarquez quâavec MADV_POPULATE_WRITE , le processus peut ĂȘtre tuĂ© nâimporte quand si le systĂšme nâa plus assez de mĂ©moire.
VALEUR RENVOYĂE
En cas de succĂšs madvise () renvoie zĂ©ro. En cas dâerreur, il renvoie -1 et errno est positionnĂ© pour indiquer lâerreur.
ERREURS
|
EACCES |
advice est MADV_REMOVE , mais la plage dâadresses indiquĂ©e nâest pas un mappage partagĂ© oĂč on peut Ă©crire. |
||
|
EAGAIN |
Une ressource du noyau est temporairement indisponible. |
||
|
EBADF |
La projection existe, mais la zone nâest pas associĂ©e Ă un fichier. |
||
|
EBUSY |
(pour MADV_COLLAPSE ) Nâa pas pu charger la page immense dans cgroup : la limite du cgroup a Ă©tĂ© dĂ©passĂ©e. |
||
|
EFAULT |
advice vaut MADV_POPULATE_READ ou MADV_POPULATE_WRITE et le peuplement (prefault) des tables de pages a Ă©chouĂ© car un SIGBUS aurait gĂ©nĂ©rĂ© un accĂšs rĂ©el Ă la mĂ©moire et la raison nâest pas une page empoisonnĂ©e dâun HW (lesquelles peuvent ĂȘtre créées, par exemple, en utilisant le drapeau MADV_HWPOISON dĂ©crit ailleurs dans cette page). |
||
|
EINVAL |
addr nâest pas alignĂ© sur une page ou length est nĂ©gatif. |
||
|
EINVAL |
advice nâest pas valable. |
||
|
EINVAL |
advice vaut MADV_COLD ou MADV_PAGEOUT et la plage dâadresses indiquĂ©e inclut des pages verrouillĂ©es, immenses TLB ou VM_PFNMAP . |
||
|
EINVAL |
advice vaut MADV_DONTNEED ou MADV_REMOVE et la plage dâadresses indiquĂ©e inclut des pages verrouillĂ©es, immenses TLB ou VM_PFNMAP . |
||
|
EINVAL |
advice vaut MADV_MERGEABLE ou MADV_UNMERGEABLE , mais le noyau nâa pas Ă©tĂ© configurĂ© avec lâoption CONFIG_KSM . |
||
|
EINVAL |
advice vaut MADV_FREE ou MADV_WIPEONFORK mais la plage dâadresses indiquĂ©e inclut un fichier, des TLB immenses, MAP_SHARED ou des plages VM_PFNMAP . |
||
|
EINVAL |
advice vaut MADV_POPULATE_READ ou MADV_POPULATE_WRITE , mais la plage dâadresses indiquĂ©e inclut des plages aux droits insuffisants ou ayant des mappages spĂ©ciaux, par exemple marquĂ©s par des drapeaux internes au noyau tels que VM_IO ou VM_PFNMAP , ou bien des rĂ©gions de mĂ©moire secrĂštes créées en utilisant memfd_secret (2). |
||
|
EIO |
(pour MADV_WILLNEED ) Suivre la consigne de pagination sur cette zone dépasserait la limite maximale de mémoire physique utilisable par le processus. |
||
|
ENOMEM |
(pour MADV_WILLNEED ) Mémoire insuffisante ; échec de pagination. |
||
|
ENOMEM |
(pour MADV_COLLAPSE ) MĂ©moire insuffisante, impossible dâallouer des pages immenses. |
||
|
ENOMEM |
Les adresses de la plage spĂ©cifiĂ©e ne sont pas projetĂ©es actuellement, ou nâappartiennent pas Ă lâespace dâadressage du processus. |
||
|
ENOMEM |
advice vaut MADV_POPULATE_READ ou MADV_POPULATE_WRITE et le peuplement (prefaulting) des tables de pages a Ă©chouĂ© du fait dâune mĂ©moire insuffisante. |
||
|
EPERM |
advice vaut MADV_HWPOISON , mais lâappelant nâa pas la capacitĂ© CAP_SYS_ADMIN . |
EHWPOISON
advice vaut MADV_POPULATE_READ ou MADV_POPULATE_WRITE et le peuplement (prefault) des tables de page a Ă©chouĂ© car une page empoisonnĂ©e dâun HW (des pages empoisonnĂ©es de HW peuvent ĂȘtre créées, par exemple, en utilisant le drapeau MADV_HWPOISON dĂ©crit ailleurs dans cette page) a Ă©tĂ© rencontrĂ©e.
VERSIONS
Des versions de cet appel systĂšme, qui implĂ©mentent une grande variĂ©tĂ© de valeurs advice , existent sur de nombreuses autres implĂ©mentations. Dâautres implĂ©mentent au moins les attributs ci-dessus sous Conventional advice flags (attributs de conseil conventionnels), avec dâautres variantes de sĂ©mantique.
POSIX.1-2001 spĂ©cifie posix_madvise (3) avec des constantes POSIX_MADV_NORMAL , POSIX_MADV_RANDOM , POSIX_MADV_SEQUENTIAL , POSIX_MADV_WILLNEED , POSIX_MADV_DONTNEED et ainsi de suite, avec un comportement proche des attributs nommĂ©s de la mĂȘme maniĂšre que ceux listĂ©s ci-dessus.
Linux
LâimplĂ©mentation Linux nĂ©cessite que lâadresse addr soit alignĂ©e sur une page, et permet que length vaille zĂ©ro. Sâil y a des parties de la plage dâadresses spĂ©cifiĂ©e qui ne sont pas projetĂ©es, la version Linux de madvise () les ignore et applique lâappel au reste de la plage (mais renvoie ENOMEM comme il se doit).
madvise(0, 0, advice) renverra 0 si advice est pris en charge par le noyau et sâil peut sâappuyer dessus pour sonder la prise en charge.
STANDARDS
Aucun.
HISTORIQUE
Apparu dans 4.4BSD.
Depuis Linux 3.18, la gestion de cet appel systĂšme est optionnelle, dĂ©pendant du rĂ©glage de lâoption de configuration CONFIG_ADVISE_SYSCALLS .
VOIR AUSSI
getrlimit (2), memfd_secret (2), mincore (2), mmap (2), mprotect (2), msync (2), munmap (2), prctl (2), process_madvise (2), posix_madvise (3), core (5)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .