lkml.org 
[lkml]   [2000]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] sys_poll error.
On Mon, Jan 31, 2000 at 12:01:17AM +0100, Manfred Spraul wrote:
> Patrick Mau wrote:
> > [sys_poll+287/1360] [sys_gettimeofday+29/148] [system_call+52/56]
> >
> > It happens every 100 msec when squid polls its fd's.
> > squid is compoiled to use 1024 filedescriptors. It's
> > just a local WWW cache for my machine.
> >
> Ok, that's Tigran's new poll patch.
> Hmm. But what fails?
>
> Could you strace squid? [strace -p <pid of squid proxy>]
> There are 2 squid processes on my server, one of them polls every few
> milliseconds

Hi Manfred, Linus, linux-kernel,

The calculation of the size of the (struct pollfd **) seems
quite wrong. Here's a patch wich works since 15 minutes ...

(Against 2.3.41)

thanks,
Patrick
--- linux-2.3.41/fs/select.c Sat Jan 29 16:05:29 2000
+++ linux-2.3.41-patch/fs/select.c Sun Jan 30 23:48:58 2000
@@ -414,9 +414,13 @@
wait = wait_table;
}

+/*
fds = (struct pollfd **)kmalloc(
(1 + (nfds - 1) / POLLFD_PER_PAGE) * sizeof(struct pollfd *),
GFP_KERNEL);
+*/
+
+ fds = (struct pollfd **)kmalloc(nfds * sizeof(struct pollfd *), GFP_KERNEL);
if (fds == NULL)
goto out;
\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.043 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site