search for: tcp_cork

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...