Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Apr 2012 11:08:50 -0700 (PDT)
From:      Sushanth Rai <sushanth_rai@yahoo.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Startvation of realtime piority threads
Message-ID:  <1333994930.58509.YahooMailClassic@web180004.mail.gq1.yahoo.com>
In-Reply-To: <201204091217.05561.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

I'm on 7.2. sched_sleep() on 7.2 just records the sleep time. That's why I though _sleep might the right place to do the check.

Thanks,
Sushanth

--- On Mon, 4/9/12, John Baldwin <jhb@freebsd.org> wrote:

> From: John Baldwin <jhb@freebsd.org>
> Subject: Re: Startvation of realtime piority threads
> To: "Sushanth Rai" <sushanth_rai@yahoo.com>
> Cc: freebsd-hackers@freebsd.org
> Date: Monday, April 9, 2012, 9:17 AM
> On Thursday, April 05, 2012 9:08:24
> pm Sushanth Rai wrote:
> > I understand the downside of badly written realtime
> app.  In my case 
> application runs in userspace without making much syscalls
> and by all means it 
> is a well behaved application. Yes, I can wire memory,
> change the application 
> to use mutex instead of spinlock and those changes should
> help but they are 
> still working around the problem. I still believe kernel
> should not lower the 
> realtime priority when blocking on resources. This can lead
> to priority 
> inversion, especially since these threads run at fixed
> priorities and kernel 
> doesn't muck with them.
> >  
> > As you suggested _sleep() should not adjust the
> priorities for realtime 
> threads. 
> 
> Hmm, sched_sleep() for both SCHED_4BSD and SCHED_ULE already
> does the right
> thing here in HEAD.
> 
>     if (PRI_BASE(td->td_pri_class) !=
> PRI_TIMESHARE)
>         return;
> 
> Which OS version did you see this on?
> 
> -- 
> John Baldwin
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1333994930.58509.YahooMailClassic>