Re: mlockall() with pid parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/07/2016 05:33 PM, Federico Reghenzani wrote:
> 
> 
> 2016-12-07 17:21 GMT+01:00 Vlastimil Babka <vbabka@xxxxxxx
> <mailto:vbabka@xxxxxxx>>:
> 
>     On 12/07/2016 04:39 PM, Federico Reghenzani wrote:
>     > Hello,
>     >
>     > I'm working on Real-Time applications in Linux. `mlockall()` is a
>     > typical syscall used in RT processes in order to avoid page faults.
>     > However, the use of this syscall is strongly limited by ulimits, so
>     > basically all RT processes that want to call `mlockall()` have to be
>     > executed with root privileges.
> 
>     Is it not possible to change the ulimits with e.g. prlimit?
> 
> 
> Yes, but it requires a synchronization between non-root process and root
> process.
> Because the root process has to change the limits before the non-root
> process executes the mlockall().

Would it work if you did that between fork() and exec()? If you can
spawn them like this, that is.

> Just to provide an example, another syscall used in RT tasks is the
> sched_setscheduler() that also suffers
> the limitation of ulimits, but it accepts the pid so the scheduling
> policy can be enforced by a root process to
> any other process.
>  
>  
> 
>     > What I would like to have is a syscall that accept a "pid", so a process
>     > spawned by root would be able to enforce the memory locking to other
>     > non-root processes. The prototypes would be:
>     >
>     > int mlockall(int flags, pid_t pid);
>     > int munlockall(pid_t pid);
>     >
>     > I checked the source code and it seems to me quite easy to add this
>     > syscall variant.
>     >
>     > I'm writing here to have a feedback before starting to edit the code. Do
>     > you think that this is a good approach?
>     >
>     >
>     > Thank you,
>     > Federico
>     >
>     > --
>     > *Federico Reghenzani*
>     > PhD Candidate
>     > Politecnico di Milano
>     > Dipartimento di Elettronica, Informazione e Bioingegneria
>     >
> 
> 
> 
> 
> -- 
> *Federico Reghenzani*
> PhD Candidate
> Politecnico di Milano
> Dipartimento di Elettronica, Informazione e Bioingegneria
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]