Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Apr 1998 22:25:40 +0400
From:      =?koi8-r?B?4c7E0sXKIP7F0s7P1w==?= <ache@nagual.pp.ru>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        "Alok K. Dhir" <adhir@worldbank.org>, current@FreeBSD.ORG, adkin003@tc.umn.edu
Subject:   Re: More info RE: X slowdown in -current
Message-ID:  <19980403222540.64574@nagual.pp.ru>
In-Reply-To: <2814.891626804@critter.freebsd.dk>; from phk@critter.freebsd.dk on Fri, Apr 03, 1998 at 08:06:44PM %2B0200
References:  <19980403214836.43861@nagual.pp.ru> <2814.891626804@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 03, 1998 at 08:06:44PM +0200, Poul-Henning Kamp wrote:
> It will take me some hours before I can reinstall a system with a
> -current, all my machines are doing something at the moment.
> 

Oops, sorry for simplification, I just comment out splhigh in your 1.35
and slowness still present. I.e. following variant NOT work. I'll try to
experiment more...

*** sys_generic.c.bak	Thu Apr  2 11:22:17 1998
--- sys_generic.c	Fri Apr  3 22:17:13 1998
***************
*** 733,751 ****
  	error = pollscan(p, (struct pollfd *)bits, SCARG(uap, nfds));
  	if (error || p->p_retval[0])
  		goto done;
! 	s = splhigh(); 
  	if (term && term <= ticks) {
! 		splx(s);
  		goto done;
  	}
  	timo = term ? term - ticks : 0;
  	if ((p->p_flag & P_SELECT) == 0 || nselcoll != ncoll) {
! 		splx(s);
  		goto retry;
  	}
  	p->p_flag &= ~P_SELECT;
  	error = tsleep((caddr_t)&selwait, PSOCK | PCATCH, "poll", timo);
! 	splx(s);
  	if (error == 0)
  		goto retry;
  done:
--- 733,751 ----
  	error = pollscan(p, (struct pollfd *)bits, SCARG(uap, nfds));
  	if (error || p->p_retval[0])
  		goto done;
! 	// s = splhigh();
  	if (term && term <= ticks) {
! 		// splx(s);
  		goto done;
  	}
  	timo = term ? term - ticks : 0;
  	if ((p->p_flag & P_SELECT) == 0 || nselcoll != ncoll) {
! 		// splx(s);
  		goto retry;
  	}
  	p->p_flag &= ~P_SELECT;
  	error = tsleep((caddr_t)&selwait, PSOCK | PCATCH, "poll", timo);
! 	// splx(s);
  	if (error == 0)
  		goto retry;
  done:



-- 
Andrey A. Chernov
http://www.nagual.pp.ru/~ache/
MTH/SH/HE S-- W-- N+ PEC>+ D A a++ C G>+ QH+(++) 666+>++ Y

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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