Because well-written code in several subsystems, used in combination in
common configurations, does not always fit, that is why.
Show me the "bug" in an nfs+xfs+md+scsi writeback stack oops and I'm
sure it'll get "fixed." But if it's simply complex code that happens to
need >4k, I will continue to argue that the limited stack size selection
is the problem, not the code running in it.
Perhaps not surprisingly, ext4, which is significantly more complex than
ext3, has many more individual functions > 100 bytes than ext3 has. As
others have said, there is no trend towards smaller, simpler, less
interesting, and less functional code which fits in a smaller and
smaller footprint in the general case.
If someone has a workload and configuration which happens to fit in 4k
then turn it on, test the heck out of it, and have fun. I've not seen
what I consider to be a convincing argument for making it the default
for everyone.
-Eric
--