lkml.org 
[lkml]   [2019]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 0/5] Introduce MADV_COLD and MADV_PAGEOUT
Hi!

> > > This approach is similar in spirit to madvise(MADV_WONTNEED), but the
> > > information required to make the reclaim decision is not known to the app.
> > > Instead, it is known to a centralized userspace daemon, and that daemon
> > > must be able to initiate reclaim on its own without any app involvement.
> > > To solve the concern, this patch introduces new syscall -
> > >
> > > struct pr_madvise_param {
> > > int size; /* the size of this structure */
> > > int cookie; /* reserved to support atomicity */
> > > int nr_elem; /* count of below arrary fields */
> > > int __user *hints; /* hints for each range */
> > > /* to store result of each operation */
> > > const struct iovec __user *results;
> > > /* input address ranges */
> > > const struct iovec __user *ranges;
> > > };
> > >
> > > int process_madvise(int pidfd, struct pr_madvise_param *u_param,
> > > unsigned long flags);
> >
> > That's quite a complex interface.
> >
> > Could we simply have feel_free_to_swap_out(int pid) syscall? :-).
>
> I wonder for how long we'll go on with adding new syscalls each time we need
> some amendment to existing interfaces. Yes, clone6(), I'm looking at
> you :(.
>
> In case of process_madvise() keep in mind it will be focused not only on
> MADV_COLD, but also, potentially, on other MADV_ flags as well. I can
> hardly imagine we'll add one syscall per each flag.

Use case described above talked about whole-process-at-a-time usage,
so I'm asking if simpler interface/code is enough. If there's
motivation for more complex version, it should be described here...

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-06-12 13:37    [W:0.036 / U:7.640 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site