Yes, I think the change to CONFIG_IP_PNP=y is what caused this problem. If you look in net/ipv4/Makefile, you'll see this line:
obj-$(CONFIG_IP_PNP) += ipconfig.o
If CONFIG_IP_PNP is not set to y, then all of net/ipv4/ipconfig.c is excluded from the resulting kernel. That file contains the code that causes the delay.
Given that ipconfig.c is useless without a network interface (right?) and most network device drivers are built as modules (right?) and the modules are loaded after the ip=* argument is processed by the kernel, then perhaps it does make sense to undefine CONFIG_IP_PNP. Enabling it doesn't provide any benefit unless the network device drivers are built into the kernel (not as modules).
Yes, I think the change to CONFIG_IP_PNP=y is what caused this problem. If you look in net/ipv4/Makefile, you'll see this line:
obj- $(CONFIG_ IP_PNP) += ipconfig.o
If CONFIG_IP_PNP is not set to y, then all of net/ipv4/ipconfig.c is excluded from the resulting kernel. That file contains the code that causes the delay.
Given that ipconfig.c is useless without a network interface (right?) and most network device drivers are built as modules (right?) and the modules are loaded after the ip=* argument is processed by the kernel, then perhaps it does make sense to undefine CONFIG_IP_PNP. Enabling it doesn't provide any benefit unless the network device drivers are built into the kernel (not as modules).