From: Michael Lindner <mikel@att.net>
To: Dan Maas <dmaas@dcine.com>,
linux-kernel@vger.kernel.org, Chris Wedgwood <cw@f00f.org>
Subject: Re: PROBLEM: select() on TCP socket sleeps for 1 tick even if data available
Date: Sat, 20 Jan 2001 01:54:23 -0500 [thread overview]
Message-ID: <3A69361F.EBBE76AA@att.net> (raw)
In-Reply-To: <fa.nc2eokv.1dj8r80@ifi.uio.no> <fa.dcei62v.1s5scos@ifi.uio.no> <015e01c082ac$4bf9c5e0$0701a8c0@morph>
Dan Maas wrote:
>
> > OK, if this is the case, how do I alter the scheduling class?
>
> man sched_setscheduler
>
> Set SCHED_FIFO or SCHED_RR; you'll need to be root to do this AFAIK.
>
> I do agree though, Linux's scheduler (for SCHED_OTHER processes) is much
> less "ruthless" than, say, the NT scheduler. It's based on slowly-decaying
> priorities; unlike in other systems, a high-priority process won't
> necessarily pre-empt a low-priority process immediately after waking up.
>
> Another, less drastic thing to try is simply to increase the number of timer
> interrupts per second (and thus the frequency at which scheduling decisions
> are made) - see "#define HZ" in include/asm/param.h (you'll need to
> recompile the kernel and all modules after changing it). The default for
> Intel systems is 100, but I routinely tweak it to 1000. You could probably
> go even higher without ill effects.
Kernel mods are less drastic than a system call? :^)
Reading the documentation for sched_setscheduler, it's unclear whether
it would even suffice - it seems to deal with preempting other
processes. I am not trying to get into the run queue ahead of other
processes, the machine is sitting there IDLE and my process is still not
getting to run for a full clock tick.
You know, there's one other possibility, and that's if the data that is
being sent isn't actually arriving until the next clock tick, which
means the delay is in the appearance of sent data, not in select().
Given that the two processes are on the same machine, I would expect a
send() on a TCP socket to deliver the data to its destination faster
than that, however.
--
Mike Lindner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next parent reply other threads:[~2001-01-20 6:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.nc2eokv.1dj8r80@ifi.uio.no>
[not found] ` <fa.dcei62v.1s5scos@ifi.uio.no>
[not found] ` <015e01c082ac$4bf9c5e0$0701a8c0@morph>
2001-01-20 6:54 ` Michael Lindner [this message]
2001-01-20 7:07 ` PROBLEM: select() on TCP socket sleeps for 1 tick even if data available Chris Wedgwood
2001-01-20 7:46 ` Michael Lindner
2001-01-20 21:58 ` Edgar Toernig
2001-01-21 0:35 ` Dan Maas
2001-01-21 0:34 ` Chris Wedgwood
2001-01-21 1:22 ` Michael Lindner
2001-01-21 1:29 ` David Schwartz
2001-01-21 3:20 ` Michael Lindner
2001-04-09 14:54 ` Stephen D. Williams
2001-04-09 19:16 ` James Antill
2001-04-10 18:29 ` Stephen D. Williams
2001-04-10 20:25 ` James Antill
2001-04-11 21:03 ` Stephen D. Williams
2001-04-12 0:09 ` James Antill
2001-01-24 20:31 ` Boris Dragovic
[not found] ` <3A694357.1A7C6AAC@att.net>
2001-01-20 9:41 ` Dan Maas
2001-01-20 17:26 ` Michael Lindner
2001-01-24 23:56 Bernd Eckenfels
-- strict thread matches above, loose matches on Subject: below --
2001-01-20 10:53 Bernd Eckenfels
2001-01-19 20:47 Michael Lindner
2001-01-19 23:20 ` David Schwartz
2001-01-20 2:30 ` Michael Lindner
2001-01-20 3:27 ` David Schwartz
2001-01-20 4:37 ` Michael Lindner
2001-01-20 12:26 ` Martin MaD Douda
2001-01-20 11:39 ` Bjorn Wesen
2001-01-19 23:31 ` Chris Wedgwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3A69361F.EBBE76AA@att.net \
--to=mikel@att.net \
--cc=cw@f00f.org \
--cc=dmaas@dcine.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox