> As you said that loops_per_jiffy is used for udelay / mdelay, and and changing loops_per_jiffy is causing difference in performance, so can we conclude from this behaviour that either ethernet/wireless driver is using mdelay/udelay (directly or in some indirect way) in data path, and when i change loops_per_jiffy then they are simply waiting less when they calls mdelay / udelay which results in some increase in throughput? yes. We can even conclude that the udelay()s *may* be excessive in the driver, since if you shorten the udelay() times artificially (by making them less as the driver asks for) you get higher performance while it still works. (note: there is also msleep() which does NOT cause busy wait behavior) > > (Please note that these driver are not part of 2.6.11 kernel release, they are in devlopment stage currently) > > One more thing i wanted to know, On my Xscale platform kernel reports it to be 399.6 BogoMips and kernel running on my ARM11 platform reports 266.8 BogoMips (here i have not touched loops_per_jiffy :)). Since both processors are running at 400MHz, so can you please explain what may be possible reasons for the difference difference in BogoMips values? it's not really comparable between machines. it's a measure of "how fast" you can busy wait, but busy waiting does some power management tricks so slower isn't always worse. -- if you want to mail me at work (you don't), use arjan (at) linux.intel.com Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/