DragonFly bugs List (threaded) for 2006-12
DragonFly BSD
DragonFly bugs List (threaded) for 2006-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: ATA identify retries exceeded - kernel panic


From: "Thomas E. Spanjaard" <tgen@xxxxxxxxxxxxx>
Date: Thu, 07 Dec 2006 12:51:54 +0000

Matthew Dillon wrote:
+		if (ocflags & M_ZERO) {
+			if (oc->simple_objsize)
+				bzero(obj, oc->simple_objsize);
+			else
+				panic("objcache_get(): M_ZERO illegal here");
+		}

After some discussion with Jeffrey Hsu and Simon Schubert, it was concluded that this incurs a penalty on the hot path of objcache_get(), which should be avoided. Best to have the consumers handle any zero'ing, in order to not nerf the consumers who rely on the speed. In that case, it pollutes the instruction cache, and could worsen performance significantly in the case of branch misprediction. Especially on the long pipelines CPUs have these days (though with the Core 2 family, Intel has cut back on the 30+ stages of the Prescott/Presler...).


Cheers,
--
        Thomas E. Spanjaard
        tgen@netphreax.net

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]