lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 2 Sep 2008 11:42:55 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Thomas Gleixner <tglx@...utronix.de>
cc:	Larry Finger <Larry.Finger@...inger.net>,
	LKML <linux-kernel@...r.kernel.org>,
	"Rafael J. Wysocki" <rjw@...k.pl>,
	Alok Kataria <akataria@...are.com>,
	Michael Buesch <mb@...sch.de>
Subject: Re: Regression in 2.6.27 caused by commit bfc0f59



On Tue, 2 Sep 2008, Thomas Gleixner wrote:
> 
> Yeah, I know. One of the oddballs is the USB->PS2 keyboard emulator
> which is active during early boot. We do the USB handoff definitely
> after the TSC calibration. Found a box with similar (not that bad)
> hickups which go away when I disable that in the BIOS settings. 
> 
> Can't say anything about the laptop in that regard, because the BIOS
> does not offer me a switch for that :(

Dang. 

We actually _used_ to do this fairly early for UHCI, since it was simple 
and very useful to do, and not doing it caused serious problems with the 
USB stack.

But then it got moved to the USB stack itself, and for some reason the 
DECLARE_PCI_FIXUP_HEADER got turned into a DECLARE_PCI_FIXUP_FINAL instead 
(probably because the USB layer expected things to be fairly set up), 
which means that it now happens much much later.

But I guess even DECLARE_PCI_FIXUP_HEADER was is too late for TSC, so it 
doesn't much matter. Even with the old setup, it would be too late.

You're definitely right that this could easily be the _real_ problem. 
Especially as your TSC min value of 2160 is (a) pretty close to the 
expected time of a microsecond and (b) so stable that I actually do not 
believe that the PIT itself is at all emulated or the problem.

Btw - as to caring about the average value: that's pointless. If you only 
look at the average time the PIT read takes place, then it is going to 
approximate that "pit_count" thing in the end that I already did. 

Why? Because the average value should essentially end up being "(end_tsc - 
start_tsc) / pit_count". And if you just compare that to "min_tsc", then 
that should always be about a microsecond (on normal machines where the 
PIT is essentially on the old emulated internal "ISA" bus on the 
southbridge). So you end up with what I already posted, and you already 
dismissed.

So average TSC is not any more interesting than "pit_count". 

			Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ