lkml.org 
[lkml]   [2014]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: Bug 71331 - mlock yields processor to lower priority process
Date

________________________________________
From: Oliver Neukum [oneukum@suse.de]
Sent: Friday, March 21, 2014 8:35 AM
To: Davis, Bud @ SSG - Link
Cc: umgwanakikbuti@gmail.com; artem_fetishev@epam.com; peterz@infradead.org; kosaki.motohiro@jp.fujitsu.com; linux-kernel@vger.kernel.org
Subject: Re: Bug 71331 - mlock yields processor to lower priority process

On Fri, 2014-03-21 at 12:18 +0000, jimmie.davis@l-3com.com wrote:
>
> >How is that different from any other time a task has to yield the CPU
> >for a bit? While your high priority task is blocked for whatever
> >reason, a lower priority task gets to use the CPU.
>
>
> As the submitter of the bug, let me give you my perspective. SCHED_FIFO means run my task until it blocks or a higher priority task pre-empts it. Period.
>
> mlock() doesn't block. check the man page.

It guarantees that all pages be in RAM. That means it has to read them
in if they aren't. How could it do that without blocking?

Regards
Oliver
------------------------------------------------------------------------------------------
Oliver,

I would assume it would touch some flag bits on every page. As part of the thread of execution that called it.

If you call mlock () from a SCHED_FIFO task, you expect it to return when done. You don't expect it to block, and your task to be pre-empted.

For many years it returned when finished. Now, it blocks.

This makes code that used to work, not work.

I consider it a defect.

regards,
Bud Davis













\
 
 \ /
  Last update: 2014-03-21 15:41    [W:0.090 / U:2.664 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site