1. thread switching time? (Krassimir Slavchev)
Sam Xia
xiazhongqi at huawei.com
Fri Oct 31 03:03:42 PDT 2008
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 at bulinfo.net]
> Sent: Friday, October 31, 2008 5:04 PM
> To: Julian Elischer
> Cc: freebsd-performance at 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 at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> > To unsubscribe, send any mail to
> > "freebsd-performance-unsubscribe at freebsd.org"
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (FreeBSD)
>
> iD8DBQFJCsoDxJBWvpalMpkRAteuAJ9Jd8ICvPSiWB/4eGquUunoclpeXgCgjqyE
> vBXA0vGoRgsQ9eHZ/YwR/lw=
> =AjjC
> -----END PGP SIGNATURE-----
>
More information about the freebsd-performance
mailing list