Re: [PATCH -mm] vmscan: make mapped executable pages the first class citizen

Wu Fengguang
2009-05-10T11:22:34Z

On Sun, May 10, 2009 at 06:15:02PM +0800, KOSAKI Motohiro wrote:
> >> >> >> The patch seems reasonable but the changelog and the (non-existent)
> >> >> >> design documentation could do with a touch-up.
> >> >> >
> >> >> > Is it right that I as a user can do things like mmap my database
> >> >> > PROT_EXEC to get better database numbers by making other
> >> >> > stuff swap first ?
> >> >> >
> >> >> > You seem to be giving everyone a "nice my process up" hack.
> >> >>
> >> >> How about this?
> >> >
> >> > Why it deserves more tricks? PROT_EXEC pages are rare.
> >> > If user space is to abuse PROT_EXEC, let them be for it ;-)
> >>
> >> yes, typicall rare.
> >> tha problem is, user program _can_ use PROT_EXEC for get higher priority
> >> ahthough non-executable memory.
> >
> > - abuses should be rare
> > - large scale abuses will be even more rare,
> > - the resulted vmscan overheads are the *expected* side effect
> > - the side effects are still safe
>
> Who expect?
> The fact is, application developer decide to use PROT_EXEC, but side-effect
> cause end-user, not application developer.
>
> In general, side-effect attack mistaked guy, it's no problem. They can
> do it their own risk.
> but We know application developer and administrator are often different person.
>
>
> > So if that's what they want, let them have it to their heart's content.
> >
> > You know it's normal for many users/apps to care only about the result.
> > When they want something but cannot get it from the smarter version of
> > PROT_EXEC heuristics, they will go on to devise more complicated tricks.
> >
> > In the end both sides loose.
> >
> > If the abused case is important enough, then let's introduce a feature
> > to explicitly prioritize the pages. But let's leave the PROT_EXEC case
> > simple.
>
> No.
> explicit priotize mechanism don't solve problem anyway. application
> developer don't know end-user environment.
> they can't mark proper page priority.

So it's simply wrong for an application to prioritize itself and is
not fair gaming and hence should be blamed. I doubt any application
aimed for a wide audience will do this insane hack. But specific
targeted applications are more likely to do all tricks which fits
their needs&environment, and likely they are doing so for good reasons
and are aware of the consequences.