Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jan 2018 21:36:59 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Eric van Gyzen <eric@vangyzen.net>
Cc:        FreeBSD Current <freebsd-current@FreeBSD.org>
Subject:   Re: td_swvoltick
Message-ID:  <20180112193659.GL1684@kib.kiev.ua>
In-Reply-To: <603d2786-86be-583c-9ff6-d8d73eddf77e@vangyzen.net>
References:  <603d2786-86be-583c-9ff6-d8d73eddf77e@vangyzen.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 12, 2018 at 01:31:41PM -0600, Eric van Gyzen wrote:
> should_yield() compares thread::td_swvoltick to 'ticks' to determine
> whether a thread is hogging and should yield.  Since td_swvoltick
> records 'ticks' /before/ the actual context switch, the calculation in
> should_yield() includes any time that the thread was switched out.  It
> seems that should_yield() wants to know how long the thread has actually
> been running.  Therefore, td_swvoltick should record 'ticks' /after/
> sched_switch() returns.
> 
> Does this make sense, or am I missing something?
Yes, it does make sense to me.

> 
> If this makes sense, I would probably keep the current assignment in
> mi_switch() and simply add a second assignment after the call to
> sched_switch().  That way, db_show_thread will still show useful data
> for sleeping threads.  I would do the same for td_swinvolticks.
> 
> I'll be happy to make the change myself.  I just want a sanity check
> before I bother.
> 
> Thanks in advance,
> 
> Eric
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"



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