Date: Fri, 31 Oct 2008 18:01:56 +0800 From: Sam Xia <xiazhongqi@huawei.com> To: 'Krassimir Slavchev' <krassi@bulinfo.net> Cc: freebsd-performance@freebsd.org Subject: RE: 1. thread switching time? (Krassimir Slavchev) Message-ID: <000001c93b3f$b5767eb0$2f096f0a@china.huawei.com> In-Reply-To: <490ACA04.6060203@bulinfo.net>
next in thread | previous in thread | raw e-mail | index | archive | help
hi Krassimir,
The smallest time quatum moving a thread from sleep queue to ready queue is
equal to one tick(about 1 ms). This is dependent of os scheduling mechanism.
Even the delay of nanosleep is less than 1 ms, actually 1 ms is the smallest
unit.
I guess you should modify the kernel and add clock intr frequency.
BR, Sam.Xia
> -----Original Message-----
> From: Krassimir Slavchev [mailto:krassi@bulinfo.net]
> Sent: Friday, October 31, 2008 5:04 PM
> To: Julian Elischer
> Cc: freebsd-performance@freebsd.org; Sam Xia
> Subject: Re: 1. thread switching time? (Krassimir Slavchev)
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello Julian,
>
> Julian Elischer wrote:
> > Krassimir Slavchev wrote:
> >
> >>
> >> Also, I am able to set HZ=100000 but the thread switching time is
> >> still ~1ms.
> >
> > You must be talking about the time that a thread can run
> before it is
> > pushed out by other threads? I know I've seem many x
> 10,000 context
> > switches in some cases, i.e. look at very high interrupt
> rates etc. so
> > I guess I'm not sure what you are measuring..
>
> Okay, I have a thread with:
>
> while(1) {
> clock_gettime(CLOCK_REALTIME, &tv);
> nanosleep(&delay, NULL);
> clock_gettime(CLOCK_REALTIME, &tv2);
> timespecsub(&tv2, &tv);
> }
>
> If the delay is configured to be 0 < delay < 1ms I always get
> ~1ms delay.
> Since nanosleep() is a cancellation point this means that the
> scheduler will switch to another thread.
> If the delay = 0 I get ~1600ns delay.
>
> Yes. You are right. This is "the time that a thread can run
> before it is pushed out by other threads".
>
> Is there a way to decrease this time?
>
> >
> > at one time the scheduling quantum was independent of Hz.
> > I am not sure how true that is now..
> >
>
> It seems to be independent of HZ.
>
>
> Best Regards
>
> >
> > _______________________________________________
> > freebsd-performance@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> > To unsubscribe, send any mail to
> > "freebsd-performance-unsubscribe@freebsd.org"
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (FreeBSD)
>
> iD8DBQFJCsoDxJBWvpalMpkRAteuAJ9Jd8ICvPSiWB/4eGquUunoclpeXgCgjqyE
> vBXA0vGoRgsQ9eHZ/YwR/lw=
> =AjjC
> -----END PGP SIGNATURE-----
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000001c93b3f$b5767eb0$2f096f0a>
