Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #68638

Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-*

Path csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Flavio Veloso Soares <flaviovs@magnux.com>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-*
Date Sun, 22 Nov 2020 23:30:01 +0100
Message-ID <Be61P-6mT-5@gated-at.bofh.it> (permalink)
References <B2QjL-7oT-1@gated-at.bofh.it> <B3ged-64a-5@gated-at.bofh.it> <B2QjL-7oT-1@gated-at.bofh.it> <B3ged-64a-5@gated-at.bofh.it>
X-Mailbox-Line From debian-bugs-dist-request@lists.debian.org Sun Nov 22 22:27:09 2020
Old-Return-Path <debbugs@buxtehude.debian.org>
X-Spam-Flag NO
X-Spam-Score -1.65
Reply-To Flavio Veloso Soares <flaviovs@magnux.com>, 972709@bugs.debian.org
Resent-To debian-bugs-dist@lists.debian.org
Resent-Cc Debian Kernel Team <debian-kernel@lists.debian.org>
X-Debian-Pr-Message followup 972709
X-Debian-Pr-Package src:linux
X-Debian-Pr-Source linux
X-Spam-Bayes score:0.0000 Tokens: new, 54; hammy, 149; neutral, 164; spammy, 1. spammytokens:0.982-+--credit hammytokens:0.000-+--sk:config_, 0.000-+--sk:CONFIG_, 0.000-+--H*u:78.0, 0.000-+--H*u:x86_64, 0.000-+--H*UA:x86_64
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2
MIME-Version 1.0
Content-Type multipart/alternative; boundary="------------467BBD1E354A32E764855F22"
Content-Language en-US
X-Greylist delayed 2246 seconds by postgrey-1.36 at buxtehude; Sun, 22 Nov 2020 22:23:14 UTC
X-Debian-Message from BTS
X-Mailing-List <debian-bugs-dist@lists.debian.org> archive/latest/1634157
List-ID <debian-bugs-dist.lists.debian.org>
List-URL <https://lists.debian.org/debian-bugs-dist/>
Approved robomod@news.nic.it
Lines 166
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Date Sun, 22 Nov 2020 13:45:37 -0800
X-Original-Message-ID <e95d04dd-8513-cf52-c1d6-b608d053b3ac@magnux.com>
X-Original-References <b7aad91f-31c1-89cf-075a-56402f4b81ce@magnux.com> <303ebe0e4f9a10001c183f6eb6c789aa930c82f7.camel@decadent.org.uk> <b7aad91f-31c1-89cf-075a-56402f4b81ce@magnux.com> <303ebe0e4f9a10001c183f6eb6c789aa930c82f7.camel@decadent.org.uk>
Xref csiph.com linux.debian.bugs.dist:1034034 linux.debian.kernel:68638

Cross-posted to 2 groups.

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

[Resending: just noticed that the reply I sent on Oct 23 didn't include 
b.d.o]

I don't think the article is about the same thing we're talking here. 
CONFIG_PREEMPT* options control the compromise between latency and 
throughput of *system calls* and *scheduling of CPU cycles spent in 
kernel mode*, not network traffic. Granted, networking is affected by 
the setting too,  but intuition tells me that a nonpreemptible system 
call -- meaning, one that finish all processing until it ends, or blocks 
on I/O -- could even *decrease* network latency, not increase.

Unfortunately, I couldn't find many comprehensive benchmarks of kernel 
CONFIG_PREEMPT* options. The one at 
https://www.codeblueprint.co.uk/2019/12/23/linux-preemption-latency-throughput.html 
seems to be very thorough, and shows that the difference of latency 
between CONFIG_PREEMPT_VOLUNTARY and CONFIG_PREEMPT_NONE is actually 
nonexistent, while no-preemption provides noticeable more throughput.

This unsurprising conclusion alone tells that CONFIG_PREEMPT_NONE is a 
better choice for servers.

However, there's more. No benchmark touches the subject of overhead 
context switches and burstable CPU cycles "credit" system used in many 
(most?) cloud environments, which happens to be the target of *-cloud 
kernels. With voluntary preemption, all those cycles used in overhead 
context switches are not only wasted, but they still count against 
instance CPU "credits", and that reduces overall computing power 
available to the instance. This is like double-paying for something you 
don't need.


On 2020-10-23 6:04 p.m., Ben Hutchings wrote:
> On Thu, 2020-10-22 at 13:43 -0700, Flavio Veloso wrote:
>> Package: linux-image-cloud-amd64
>> Version: 4.19+105+deb10u7
>> Severity: wishlist
>>
>> Since cloud images are mostly run for server workloads in headless
>> environments accessed via network only, it would be better if
>> "linux-image-cloud-*" kernels were compiled with CONFIG_PREEMPT_NONE=y
>> ("No Forced Preemption (Server)").
>>
>> Currently those packages use CONFIG_PREEMPT_VOLUNTARY=y ("Voluntary
>> Kernel Preemption (Desktop)")
>>
>> CONFIG_PREEMPT_NONE description from kernel help:
> [...]
>
> I know what it says, but I think the notion that latency is less
> important on servers is outdated.
>
> It's well known that people give up quickly on web pages that are slow
> to load:
> <https://www.gigaspaces.com/blog/amazon-found-every-100ms-of-latency-cost-them-1-in-sales/>.
> And a web page can depend on (indirectly) very many servers, which
> means that e.g. high latency that only occurs 1% of the time on any
> single server actually affects a large fraction of requests.
>
> Ben.
>
-- 
FVS

Back to linux.debian.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Flavio Veloso <flaviovs@magnux.com> - 2020-10-22 23:30 +0200
  Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Ben Hutchings <ben@decadent.org.uk> - 2020-10-24 03:10 +0200
    Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Flavio Veloso Soares <flaviovs@magnux.com> - 2020-11-22 23:30 +0100
      Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Ben Hutchings <ben@decadent.org.uk> - 2020-11-22 23:40 +0100
        Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Flavio Veloso Soares <flaviovs@magnux.com> - 2020-11-23 01:00 +0100
          Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Noah Meyerhans <noahm@debian.org> - 2020-11-23 03:00 +0100
            Bug#972709: Wishlist/RFC: Change to CONFIG_PREEMPT_NONE in linux-image-cloud-* Flavio Veloso Soares <flaviovs@magnux.com> - 2020-11-25 09:20 +0100

csiph-web