The pie patches that I was using until recently are here:
Stephen hemminger and I cleaned up the original pie drop according to KernelStyle in multiple ways. There is a rounding error problem in setting the target value
(we'd recomended they switch to ktime rather than jiffies) that I either added or was in there in the first place.... and we fixed a couple generic bugs...
In addition to adding ecn support, we also added congestion notification to (a la the linux red and fq_codel algorithms) to provide lossless feedback into the host tcp stack. (this is, incidentally, 1 line of code) This optimization made it possible to do comparisons on host <-> host tests between these qdiscs, with no router in-between.
Syntactically the iproute2 patches could use identical syntax for time based values as the codel iproute2 patches. Haven't got around to that. (not my job, really, to improve cisco's code)
Now, I only now - today! - just noticed that the new pie code at cisco's site seems *substantially* different from the older pie code the above was based on, in that it no longer has an optimization for not dropping smaller packets. (bytemode) This is going to invalidate most previous benchmarks of pie that I know of, including all of mine, and most, if not all, of cablelabs'. Sigh.
I will try to refresh my patches and update the lab over the next week or so.