"be like the kernel and only unroll if not small"

upstream CVS commitid: BZ7OsdaJWB0aCAfw

2 days, 6 hours after upstream commit.