
Linux v4.15: Performance Goodies - JoshTriplett
http://blog.stgolabs.net/2018/03/linux-v415-performance-goodies.html
======
AndrewStephens
I hate to be "that guy", but that website is incredibly annoying for what
amounts to a few paragraphs of text. Not everything needs to be animated.

~~~
sp332
This is a very popular Blogger theme. It might even be the default.

~~~
scrollaway
If anyone out there either is able to self-host their blog, or can afford a
few bucks a month for it, I recommend Ghost
([https://ghost.org](https://ghost.org)). Example blog:

[https://blog.ghost.org](https://blog.ghost.org)

Open source customizable markdown blog engine, with great themes by default. I
feel like it doesn't get enough attention.

~~~
tambre
Seems to have no IPv6 support. I'd prefer to be able to access other peoples'
blogs and have my own blog accessible at all times.

~~~
scrollaway
Send their Pro team a feature request. Either way you have the option to self-
host it, which is why I'm promoting this here. If you want IPv6, it's super
easy.

~~~
johnonolan
Hey! Ghost(Pro) is targeted mainly at business users who want a solid managed
service, but there's absolutely no downside to self-hosting. We don't do any
feature-gating, so you get the same software no matter where you want to run
it. Easiest way to get up and running on your own env. is with Digital Ocean,
who have a 1-click image:
[https://www.digitalocean.com/community/tutorials/how-to-
set-...](https://www.digitalocean.com/community/tutorials/how-to-set-up-the-
digitalocean-ghost-one-click-application-for-ubuntu-16-04)

If you want to just test it out locally first, that's easy too \-
[https://docs.ghost.org/docs/install-
local](https://docs.ghost.org/docs/install-local) TLDR: npm install ghost-cli
-g && ghost install local

~~~
scrollaway
Since you're here I just want to say that I love the operation you guys run.
Ghost is great, the pro service is great and the open source, transparent
development of the engine itself as well as the company/foundation is
fantastic.

You guys are up there with Gitlab as a model of how open source businesses
should work.

------
still_grokking
It's really interesting seeing someone who has some intimate knowledge about
the Linux kernel saying:

"In fact, with Linux v4.15 released, it is one of the rare times I've seen
security win over performance in such a one sided way. Normally security
features are tucked away under a kernel config option nobody really uses."

One just could be tricked into believing that the people suggesting that Linus
doesn't care much about security could be right. ;-)

~~~
gerdesj
"One just could be tricked into believing that the people suggesting that
Linus doesn't care much about security could be right."

I've got the impression over the years that Mr T _does_ care about security.
However, security is only one aspect of kernel development and stomping on
hand waving when it is used to justify badly thought through bodges with a
single purpose in mind seems fair enough to me. That is something he has done
time and again and once you get through some of the rather harsh language, he
invariably has a good engineer's approach to what gets released.

We don't simply use computers to "be secure" \- that's nonsense. We use
computers to do something and they should be secure as well. There are many,
many design constraints imposed on OS kernel devs. The complexity of OS kernel
development borders on the ridiculous to me sometimes (I'm just a sysadmin -
I'm happy that I can compile and install the bloody thing when I need to by
hand).

I did see your wink 8)

~~~
clatan
Reminds me of the security folks at my job that sport the biggest shinning
smile of joy when they tell me that something can't be done because the
security system blocks it.

------
tscs37
It seems the page is entirely broken for me, even after disabling all script
blockers. Console reports CSP violations.

Is there a plaintext version since the link above is only blank?

~~~
feelin_googley
"Is there a plaintext version..."

Yes. But you have to make it yourself from some XML. Example of a script to do
that (^M means insert a CR. Ctrl-V then Ctrl-M. Or just \r if you are using a
GNU sed):

    
    
         #!/bin/sh 
    
         test $# -gt 0||exec echo usage: $0 proto://nameofBloggerblog.domain.tld;
    
         HTTPCLIENT=curl;# popular example only, not an endorsement of cURL;
    
         HTMLBROWSER=firefox;#popular example only, not an endorsement of Firefox
    
         a=$($HTTPCLIENT $1|exec sed 's/\\046/\&/g;s/\\46/\&/g;s/\\075/=/g;s/\\75/=/g;/targetBlogID/!d;s/.*targetBlogID=//;s/&.*//');test ${#a} -gt 0||exit;
    
         $HTTPCLIENT https://www.blogger.com/feeds/$a/posts/default|exec sed 's/^[0-9a-f]*^M//;s/&lt;/</g;s/&gt;/>/g;s/&amp;/\&/g;s/&quot;/\"/g;1i\
         <br><br>
    
         s/<name>/<br><br>name &/g;
         s/<uri>/<br>uri &/g;
         s/<generator>/<br>generator &/g;
         s/Blogger//;
         s/<id>/<br>id &/g;
         s/<published>/<br>published &/g;
         s/<email>/<br>email &/g;
         s/<title type=.text.>/<br><br>&/g;
         s/<openSearch:totalResults>/<br>total results &/g;
         s/<openSearch:startIndex>/<br>start index &/g;
         s/<openSearch:itemsPerPage>/<br>items per page &/g;
         s/<updated>/<br>updated &/g;
         s/<thr:total>/<br>thr:total &/g;
         s/<\/feed>/&<br><br><br>/;
         s/^M*/<br>/;
         ' |exec tr -cd '\12\40-\176' > 1.htm;
    
         $HTMLBROWSER file:///1.htm;

~~~
codedokode
There is an easier method: just append AJAX crawling token to the query
string: [http://blog.stgolabs.net/2018/03/linux-v415-performance-
good...](http://blog.stgolabs.net/2018/03/linux-v415-performance-
goodies.html?_escaped_fragment_=)

------
dis-sys
the mentioned nested epolls is interesting, will be great if there are
meaningful benchmarks on some real world applications.

~~~
edsiper2
check the GIT commit changes listed in the post, you will see the details
there, e.g:

[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=37b5e5212a448bac0fe29d2a51f088014fbaaa41)

------
codedokode
Link with plain readable HTML:
[http://blog.stgolabs.net/2018/03/linux-v415-performance-
good...](http://blog.stgolabs.net/2018/03/linux-v415-performance-
goodies.html?_escaped_fragment_=)

This should work on any blogger page.

Source: deprecate Google technology
[https://developers.google.com/webmasters/ajax-
crawling/docs/...](https://developers.google.com/webmasters/ajax-
crawling/docs/specification)

This is crazy. They serve light HTML page for robots and a slow loading JS app
for humans. And if an exception occurs inside their app humans get a blank
page.

------
LinuxBender
I would like to see these backported into RHEL7. They backported the PCID code
due to the Spectre / Meltdown vulns.

~~~
amluto
Did RHEL backport full PCID or just the bare minimum for Meltdown?

~~~
bonzini
Just the bare minimum. Only two PCIDs are used.

There wasn't enough time unfortunately.

~~~
LinuxBender
Are there any plans to implement more of it?

