548 reputation
15
bio website
location England
age 37
visits member for 1 year, 2 months
seen Oct 14 '13 at 3:29

Sep
27
awarded  Yearling
Oct
13
awarded  Critic
Oct
13
comment Real-World Use of TCP_DEFER_ACCEPT?
Also I just picked up on the last paragraph, where you imply step 3 is optional. It isn't, absolutely isn't. Reread the paragraph, step 3 is "alice replies with an acknowledgement". that is not optional. bob replying to that (a theoretical 4th step) is.
Oct
13
comment Real-World Use of TCP_DEFER_ACCEPT?
Increase? From zero? Well yes, I guess literally thats true, but most people would imply there was /some/ chance before packet 3 to increase. And there isn't. It's just the phrase "increase the confidence" that I dont like, and I dont think factoring in 0.001% 'real world major issues' helps keep the issue clear. Sure, nuclear war might happen before the server gets the packet, lots of things could happen.
Oct
11
comment Guided tour at the console?
Hmm, I think there's two forms of this. The "linux newbie" guide where you learn 'cd' and the absolute basics, those guides exist already (interactivity isn't all that!). The real power of linux is piecing lots of bits together tho, by themselves grep and cut aren't overly interesting tools but combined they make quite a powerful toolkit. It's like a programming language (say Java), the pieces - 'if' 'functions' 'variables' - the core pieces - aren't very interesting. Ultimately its the API (unix tools) and how you string it together that makes it powerful. And that's teaching programming
Oct
11
comment Real-World Use of TCP_DEFER_ACCEPT?
It's more than just confidence, you send before the 3way completes and your data is binned. The way TCP connections are set up in modern OS stacks there is actually no connection data logged in tables until the 3rd part of the connection, the requirement of the 3rd message before any resources are consumed is done via the use of "Syn Cookies" and prevents "Syn Attacks" (which are forged-source-ip handshake packet 1. its packet 3 that undermines that forged source ip.). Hence plain up no connection or entry for it exists before this point.
Oct
9
comment Using DNSMasq for Local Hostname Resolution
I wonder if there's a "windowsism" at work or something, naming your hosts directly under the top level domain ('oberon.') is kinda odd, oberon.lan makes much more sense. One thing to be aware of is that domain suffixes and 'search domains' are often appended to a name to resolve it, e.g. "oberon" could be being resolved and found as "oberon.lan" if lan is in the search domains. However the above queries dont seem to show this being the case, the dig specifically has the terminating period on the hostnames, but be very aware of that when testing!
Oct
8
awarded  Editor
Oct
8
revised Real-World Use of TCP_DEFER_ACCEPT?
added 383 characters in body
Oct
8
answered Real-World Use of TCP_DEFER_ACCEPT?
Oct
8
comment Real-World Use of TCP_DEFER_ACCEPT?
Also this option doesn't change wether you are woken during the handshaking, that never happens. Without the option you get woken after the 3rd part of the handshake. After it completely established, and in HTTP you then go back to sleep because its the clients turn to talk (thats the wasted resource). With this option you get woken after the handshake and after the first data is received, i.e. when there's something to actually processes in HTTP.
Oct
8
comment Real-World Use of TCP_DEFER_ACCEPT?
Right, you can argue that waking a dormant thread might improve system performance. You can also argue that a machine that is thrashing its self to death to the point that you care about this overhead is probably NOT going to benefit from an unnecessary swap - in which then might get promptly swapped-out if the machine is under that load. Add that the disk IO queue might be busy, your swap-in is delaying other swap... The point there IMHO is that performance tuning (number of threads, ram allocation) is up to the system administrator/OS, not the app to play "greedy", if everyone did... bang
Oct
8
comment Real-World Use of TCP_DEFER_ACCEPT?
Should have just written an answer... In regards to it being an option, well, its not how "normal" unix standards work... Specifically regarding HTTP the key point is that the client (web browser) initiates the conversation with the GET line... So the server doesn't care about the actual connection, just the first data. As opposed to say SMTP which requires the client to wait until the server issues its "220 welcome banner" message. I.e. THAT server needs to know on connect, not on data.
Oct
8
comment Real-World Use of TCP_DEFER_ACCEPT?
Also, it's not about avoiding 'swapping in', it's about not wasting resources. If swapping was to become a factor in activating a HTTP worker then you're forcing your worker to swap in prematurely at the accept point before data is ready... and if swapping is happening, that means you're forcing something else out of ram... something that was maybe doing something and gets swapped back in between your accept/data part... whatever resource - CPU, diskIO, in-ram pages, if there's no data, then there's no point causing work.
Oct
8
comment Real-World Use of TCP_DEFER_ACCEPT?
I'm not clear on what you mean by "get the count down to three", which makes me suspect you misunderstand the three way handshake. This is a TCP "open connection" transaction and consists of 3 packets total transmitted. Until these 3 complete, there is no data, and is no connection that is valid. As such data never factors into the handshaking overhead. The efficiency increase that would be gained from TCP_DEFER_ACCEPT would be the gap between the completion of the 'accept' TCP 3 way handshake, and the first data packet (I assume, mostly here to comment on the 3 vs 4 way handshake)
Oct
8
comment RPM: failed jre dependency, even though that JRE version is installed
To be clearer, when i say "its tag" i dont mean the package name, the full package info should tell you about its dependancies, both what it requires, and what it provides (and possibly some recommended/optional dependancies too), these can simply be other packages but are also often "virtual" packages, such that "IBM JDK" and "Oracle JDK" are different packages, but both provide "java-runtime" or whatever that other non implementation specific packages (e.g. any java app such as tomcat) can depend on.
Oct
8
comment RPM: failed jre dependency, even though that JRE version is installed
Hmm, noting the tomcat is a noarch build I wonder if its dependancies are correctly configured for your distribution, specifically it looks for "jre" as its tag, but (say) your package system may call it "java". It'd be worth investigating what your java packages are providing (rpm -q -i or something like that?) and see if the 'jre' dependancy is actually being met, or how it works in your distro. At that point your options are to correct the RPM you're trying to install to take the right dependancies, fake an installation in the package DB, or just --nodeps it once again. Dirty + effective
Oct
8
answered Benchmark ssd on linux: How to measure the same things as crystaldiskmark does in windows
Oct
8
comment No route to host using ssh
+1 @JiriXichtkniha the masking of your IP addresses makes this question incredibly confusing, and your IP address range there is private, unaccessible and useless to anyone else. Literally millions of other people use those same addresses. In the meanwhile you've obviously got a routing problem such as incorrectly specified default gateway, so it looks a lot like a basic "user misconfiguration" issue, so playing 'guess the numbers' when the numbers may well be wrong in the first place is ...
Oct
8
answered RPM: failed jre dependency, even though that JRE version is installed