Displaying 20 results from an estimated 40 matches for "tcp_cork".
2005 Dec 28
2
Use of TCP_CORK instead of TCP_NODELAY
>
> p.s. For an in depth analysis of TCP_CORK read Christiopher Baus' excelent
> article: http://www.baus.net/on-tcp_cork
Thanks for this pointer. I'd been meaning to reply on this thread, but
hadn't got around to it, primarily because I didn't really understand
TCP_CORK (the linux manpage is, as usual, fairly unclear on wh...
2005 Dec 25
4
Use of TCP_CORK instead of TCP_NODELAY
...proprietory
(spelling?, i'm dutch) software, icecast merely relays them.
However, the intended endpoint is an embedded device. This device has
trouble with tcp/ip packets not matching the max. packet size (MSS or MSS
minus header). After eleborate testing, we found that using the sockopt
'TCP_CORK' instead of 'TCP_NODELAY' produces far better results on the field
on reconnects etc/. Also, with streaming media, TCP_CORK is more efficient
than TCP_NODELAY.
To patch icecast to use tcp_cork is a piece of cake, it involves no more
than 10 lines of code. My question would be if the ma...
2010 Oct 10
3
pop3 TCP_CORK too late error
I was straceing a pop3 process and noticed that the TCP_CORK option
isn't set soon enough:
epoll_wait(8, {{EPOLLOUT, {u32=37481984, u64=37481984}}}, 38, 207) = 1
write(41, "iTxPBrNlaNFao+yQzLhuO4/+tQ5cuiKSe"..., 224) = 224
epoll_ctl(8, EPOLL_CTL_MOD, 41, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP,
{u32=37481984, u64=37481984}}) = 0
pread(19, "AF...
2005 Dec 28
0
Use of TCP_CORK instead of TCP_NODELAY
...nd out
> data with as low a delay as possible (many clients don't care, but
> some do). That's why we use TCP_NODELAY - we actually WANT to send out
> data as soon as we can.
Can you explain how some clients depend on a low delay when receiving data
from icecast? How is the use of TCP_CORK going to break those? Would the
application level buffering currently used in format_mp3.c not cause the
same problem?
Is it that the (mp3/vorbis/...) frame rate should be as constant as possible
and maybe for VBR streams using TCP_CORK can cause problems in this area?
If I understand TCP_CORK co...
2005 Dec 28
0
Use of TCP_CORK instead of TCP_NODELAY
Hi Henri and others,
Very interesting post about TCP_CORK. I would be very interested in having
it applied in the next version of Icecast.
I'm using Icecast in a somewhat narrowcasting setup with large numbers of
sources (> 100) and between 5 and 50 listeners per source. All streaming is
done at low bitrates (16 - 24 kbit/sec) and listeners use em...
2005 Dec 28
2
Use of TCP_CORK instead of TCP_NODELAY
Klaas Jan Wierenga wrote:
> Hi Henri and others,
>
> Very interesting post about TCP_CORK. I would be very interested in having
> it applied in the next version of Icecast.
I'd be more interested in some figures to show there being a benefit,
most examples talk about HTTP servers with short lived connections where
sendfile(2) is used.
> For low-bitrate streams the problem...
2005 Dec 29
1
Use of TCP_CORK instead of TCP_NODELAY
Klaas Jan Wierenga wrote:
>>This is exactly why it was implemented, a few people complained about
>>the overhead with large numbers of listeners, not only because of the
>>TCP overhead but also the fact that it reduces the write syscall
>>overhead. Will TCP_CORK (linux) and TCP_NOPUSH (BSD) give noticable
>>benefits wrt icecast? It might prove helpful if available but more info
>>is needed.
>
>
> As Christopher Baus points out in his article
> http://www.baus.net/on-tcp_cork it is not so much the overhead of a few
> write calls...
2005 Dec 29
0
Use of TCP_CORK instead of TCP_NODELAY
> This is exactly why it was implemented, a few people complained about
> the overhead with large numbers of listeners, not only because of the
> TCP overhead but also the fact that it reduces the write syscall
> overhead. Will TCP_CORK (linux) and TCP_NOPUSH (BSD) give noticable
> benefits wrt icecast? It might prove helpful if available but more info
> is needed.
As Christopher Baus points out in his article
http://www.baus.net/on-tcp_cork it is not so much the overhead of a few
write calls that affects performance, but t...
2005 Dec 28
0
Use of TCP_CORK instead of TCP_NODELAY
...do some aggregation in userspace;
> this aggregation should probably be tuned better, but it's
> important that icecast control it, not the kernel.
Why? What's the advantage? To me it looks more like creating an userspace
TCP/IP stack, and that doesnt seem usefull?
> You want TCP_CORK, it seems, because of bugs in your target
> devices
That is my main motivation indeed, however, imho there are more valid
reasons to want TCP_CORK, as i tried to explain above.
>- well, whilst we're willing to make some concessions
> to broken clients, an inability to speak TCP corr...
2016 Apr 12
2
Slow reading of large dovecot-uidlist files
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Tue, 12 Apr 2016, Bostjan Skufca wrote:
> On 12 April 2016 at 10:23, A.L.E.C <alec at alec.pl> wrote:
>
>> I don't know dovecot's code, but I suppose it uses uidlist file to get
>> mailbox statistics that it returns as EXISTS, RECENT, UNSEEN, UIDNEXT,
>> UIDVALIDITY, etc, which are required by IMAP standard. I
2019 Jun 06
4
[nbdkit PATCH 0/2] Reduce network overhead with corking
Slightly RFC, as I need more time to investigate why Unix sockets
appeared to degrade with this patch. But as TCP sockets (over loopback
to localhost) and TLS sessions (regardless of underlying Unix or TCP)
both showed improvements, this looks like a worthwhile series.
Eric Blake (2):
server: Add support for corking
server: Cork around grouped transmission send()s
server/internal.h | 3
2019 Mar 08
1
Dovecot v2.3.5 released
On 7.3.2019 23.37, A. Schulze via dovecot wrote:
>
> Am 07.03.19 um 17:33 schrieb Aki Tuomi via dovecot:
>
>>> test-http-client-errors.c:2989: Assert failed: FALSE
>>> connection timed out ................................................. : FAILED
> Hello Aki,
>
>> Are you running with valgrind or on really slow system?
> I'm not aware my buildsystem
2009 Mar 27
1
very slow pop3 downloads
...|POLLHUP|POLLNVAL}, {fd=0,
events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=1, events=POLLOUT|POLLERR|POLLHUP|POLLNVAL, revents=POLLOUT}], 4,
10000) = 1
gettimeofday({1238146847, 807077}, {0, 0}) = 0
write(1, "6DEDK02J5VXFQtloRQ/JPgdcCrSmSRXj"..., 2171) = 2171
setsockopt(1, SOL_TCP, TCP_CORK, [1], 4) = 0
pread64(9, "7P8JZloV9g/oYWdnm\nnZ9f+xzkO3fVXr"..., 4096, 102400) = 4096
write(1, "\r\nLhQoxZy+rq1TZXl2ZtrKrZH15dE2PK"..., 4134) = 3669
write(1, "uv69IdP6FDbO0lztPh2sA6Z/wBqIdP9Y"..., 465) = -1 EAGAIN (Resource temporarily unavailable)
setsockopt(1, SOL_TCP...
2007 Dec 19
2
maildirsize quota counting locking account?
.../home/admin/Maildir/maildirsize", O_RDWR|O_APPEND) = 7
> read(7, "10485760000S\n1562717408 107547\n-"..., 5120) = 2446
> read(7, "", 2674) = 0
> write(1, "* 1810 FETCH (UID 1815 RFC822.SI"..., 2031) = 2031
> setsockopt(1, SOL_TCP, TCP_CORK, [0], 4) = 0
> epoll_wait(4, {{EPOLLIN, {u32=101056896, u64=2370923004288}}}, 5, 2584) = 1
> read(0, "2838 UID fetch 1816 (UID RFC822."..., 2974) = 51
> setsockopt(1, SOL_TCP, TCP_CORK, [1], 4) = 0
> close(7) = 0
> open("/home/virtual/myd...
2005 Sep 13
1
Solaris build failed
dovecot-v1.0-alpha build failed for Solaris 11 (OpenSolaris Nevada).
The problematic line is in socket.c line 228. The fix should be to
change SOL_TCP to IPPROTO_TCP found in netinet/in.h. This change should
work universally on all platforms.
Gary
2019 Jun 06
0
[nbdkit PATCH 1/2] server: Add support for corking
..._cork (struct connection *conn, bool cork);
static void raw_close (struct connection *);
int
@@ -288,6 +291,15 @@ new_connection (int sockin, int sockout, int nworkers)
conn->send = raw_send;
conn->close = raw_close;
+ /* Install a cork handler, but only if corking works */
+#ifdef TCP_CORK
+ {
+ int opt = 0;
+ if (setsockopt (sockout, IPPROTO_TCP, TCP_CORK, &opt, sizeof opt) == 0)
+ conn->cork = raw_cork;
+ }
+#endif
+
return conn;
}
@@ -344,6 +356,19 @@ raw_send (struct connection *conn, const void *vbuf, size_t len)
return 0;
}
+/* Change the cork stat...
2014 Jan 21
1
IDLE dropping EXISTS events on mass message arrival
...st_size=12288, ...}) = 0
07:30:06 stat64("/home/ew/.maildir/.INBOX.vomiteer/dovecot.index.log", {st_mode=S_IFREG|0600, st_size=25920, ...}) = 0
07:30:06 fstat64(10, {st_mode=S_IFREG|0600, st_size=25920, ...}) = 0
07:30:06 epoll_wait(9, {}, 6, 7865) = 0
07:30:14 setsockopt(11, SOL_TCP, TCP_CORK, [1], 4) = 0
07:30:14 write(11, "* OK Still here\r\n", 17) = 17
07:30:14 setsockopt(11, SOL_TCP, TCP_CORK, [0], 4) = 0
07:30:14 time(NULL) = 1390289414
07:30:14 epoll_wait(9, {{EPOLLIN, {u32=4159555408, u64=4159555408}}}, 6, 22124) = 1
07:30:17 read(13, "\2\0\0\0\...
2019 Jun 06
0
[nbdkit PATCH 2/2] server: Cork around grouped transmission send()s
...++++++++++++
2 files changed, 54 insertions(+)
diff --git a/server/connections.c b/server/connections.c
index 9b0b75c..8c92dc5 100644
--- a/server/connections.c
+++ b/server/connections.c
@@ -356,6 +356,7 @@ raw_send (struct connection *conn, const void *vbuf, size_t len)
return 0;
}
+#ifdef TCP_CORK
/* Change the cork status to batch a group of send calls, and either succeed
* completely (returns 0) or fail (returns -1).
*/
@@ -368,6 +369,7 @@ raw_cork (struct connection *conn, bool cork)
setsockopt (conn->sockout, IPPROTO_TCP, TCP_CORK, &opt, sizeof opt);
return 0;
}
+#endi...
2005 Dec 22
2
sir please let me know ( Installation problem)
sir ,
I Have the following error , please let me know.
with kind regards
ds
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output...
2017 Jan 31
3
quota-status returns quota_status_success when email would put user over quota
...; setresuid(-1, 110, -1) = 0
>> prctl(PR_SET_DUMPABLE, 1) = 0
>> stat("/data/vmail/asom-net.dk/kptest", {st_mode=S_IFDIR|0700,
>> st_size=4096, ...}) = 0
>> prctl(PR_SET_DUMPABLE, 1) = 0
>> setsockopt(12, SOL_TCP, TCP_CORK, [1], 4) = 0
>> write(12, "action=DUNNO\n\n", 14) = 14
>> setsockopt(12, SOL_TCP, TCP_CORK, [0], 4) = 0
>> epoll_wait(11, {{EPOLLIN, {u32=1593554016, u64=139734059562080}}}, 5,
>
>> 59999) = 1
>> read(12, "", 8146) = 0...