Hi, I'm using a 2.4.27 Kernel on MIPS. I'm actually programming a USR-Space software which needs high-precision sleep() functions. Actually, by using them, I can't get a sleep time lower than 20 ms. (even with a usleep(1) which should sleep for 1 microsecond) I thought it may came from the Linux default scheduler, so I increased its resolution by modifying HZ and CLOCKS_PER_SEC (I set them to 1000 instead of 100) in the /linux/include/asm-mips/param.h file. I'm now having a minimum usleep time of 2ms, which is better, but still not perfect (since I need at least 1ms) If I continue increasing these 2 values, my kernel doesn't compile because of /linux/include/linux/timex.h. Do you have a clue what could I do to have a non-active (without a while) sleeping time fewer than 2ms? (A sleeping time of 0.5 ms would be perfect) Please excuse my newbieness if I said something not relevant... Thank you very much, Christophe CONIL Content of /linux/include/linux/timex.h -------------------------------------------------------------------------------- #if HZ >= 12 && HZ < 24 # define SHIFT_HZ 4 [...] #elif HZ >= 768 && HZ < 1536 # define SHIFT_HZ 10 #else # error You lose. < #endif -------------------------------------------------------------------------------- Content of /linux/include/asm-mips/param.h -------------------------------------------------------------------------------- #ifndef _ASM_PARAM_H #define _ASM_PARAM_H #ifndef HZ #ifdef __KERNEL__ /* Safeguard against user stupidity */ #ifdef _SYS_PARAM_H #error Do not include <asm/param.h> with __KERNEL__ defined! #endif #include <linux/config.h> /* This is the internal value of HZ, that is the rate at which the jiffies counter is increasing. This value is independent from the external value and can be changed in order to suit the hardware and application requirements. */ # define HZ 1000 /* CC : Previous value was 100 */ # define hz_to_std(a) (a) #else /* defined(__KERNEL__) */ /* This is the external value of HZ as seen by user programs. Don't change unless you know what you're doing - changing breaks binary compatibility. */ #define HZ 100 #endif /* defined(__KERNEL__) */ #endif /* defined(HZ) */ [...] #ifdef __KERNEL__ # define CLOCKS_PER_SEC 1000 /* frequency at which times() counts */ /* CC : Previous value was 100 */ #endif #endif /* _ASM_PARAM_H */ -------------------------------------------------------------------------------- ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote confirms that this email message has been scanned for the presence of computer viruses. **********************************************************************