Messages in this thread | | | Date | Thu, 10 Nov 2005 22:02:55 +0100 | From | Willy Tarreau <> | Subject | Re: [PATCH] poll(2) timeout values |
| |
On Thu, Nov 10, 2005 at 05:15:56PM +0000, Alan Cox wrote: > On Iau, 2005-11-10 at 11:31 -0500, Peter Staubach wrote: > > Clearly, the timeout calculations problem can be fixed without changing > > the arguments to the sys_poll() routine. However, it is cleaner to fix > > it this way by ensuring the sizes and types of arguments match. > > There really is no need for the kernel API to match the userspace one, > many of our others differ between the syscall interface which is most > definitely 'exported' in one sense and the POSIX interface which is > defined by libc, posix and the LSB etc > > No argument about the timeout fix.
I posted a different fix here about a month ago (but I sent it 3 times, as it was twice wrong). Andrew was about to merge it in his tree but I have not checked yet. It was different in the sense that it used msecs_to_jiffies() to do the arithmetic in the best possible way depending on the HZ value and the ints size. Most of the time (when 1000 % HZ == 0), it will simplify the operations to a single divide by a constant and correctly check for integer overflows. Eg, with HZ=250, a simple 2 bits right shift will replace a multiply followed by an divide.
I'll check whether 2.6.14-mm1 has it, otherwise I can repost it.
Cheers, Willy
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |