Received: by 2002:ab2:6816:0:b0:1f9:5764:f03e with SMTP id t22csp2356365lqo; Mon, 20 May 2024 03:18:54 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUX12rl8aBWj5NVR7EgLZTa9sxVj4h0pbx4ra9QlQ/aiz/h3y1aLszVtvMobNpkAyLAWAY0dYjQnk+u8BopFRTMYA9VnnCJd8FheoxoOA== X-Google-Smtp-Source: AGHT+IE3Nzxo8HNE4f4WuidsxIS4jrby+QfbCY9nvwoeoFeWDC/FwaZGIYpb6EwbWLTjbikfUrd5 X-Received: by 2002:a19:ca5e:0:b0:522:29f5:3b09 with SMTP id 2adb3069b0e04-52229f53d70mr16770686e87.47.1716200333906; Mon, 20 May 2024 03:18:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716200333; cv=pass; d=google.com; s=arc-20160816; b=qlk3ZzIFPxHr0Zyd8jgvUy4IXTWYgfKnoB+nGO/c0iajS2En7vrkApj/wAR2lvVN8L OdUQ4VQ29Us47c1wv2oR/55poQ/s2F+Alns0EjwYbQDwBr9xNBU0IpwIE/K3HwIvDblg QN5r94tl9P118ZJHV7fro1CWhDATSTLoqMMqAwiVud5k3dRgfWqeulsK4V/0Fp4sO5mG IeCNE0/2R+wOWjSLv7wE7yaxU/FDMHs4uL3IMnh/rvJXWbmPXxSjZg2ya51SHxA+Wo+9 iwMh+BBpedOGMMWoyzxUaXb6Gcb8QSVGhgRgwEKFGdJ/f4LzNUH3LF8KbE84I17d5FPZ J5oQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature:dkim-signature:dkim-signature:dkim-signature; bh=xo9Hid01k6Z2mE25I4gQTE6p4tBM2fMiQViOM3GIseI=; fh=vYhf/GccJNBmnilAoNyQYP+8UwNAy8eK6g4I4GE1XaI=; b=Eyt6EXT5R/pGxe19cGRXYwzw+QMKEeqOl9j4caFnbJDDIXAFLSi13EiWy5XauZWuaC wt/aAsTcd2jyUumCwJ9axr3Lt2yAyVTfKAxrc1R9jWsbaKlOLXLz/XnXS65Ct9uioSG7 6UvtAL3GKy01BQP7xKsfHWcEVlKnZdkLKsI4l8ff9HhgWDV75AYv/Bbr4ptQAaCtUHYV nUXXmPqRMA7sbrrOmBl9OZ4NgkWH+MILfLDWf8zAo/eMD4FM36UGyvt9tHjiOFcC2iso oVmFilOvxHTZ6nE0cj4jpIGzM885/FJahoV3gBfFvHyDT+6xR31sgsxCrLEPKGzBY1Q1 i0KA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=sJfmdACz; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519 header.b=fK4DSiJC; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=sJfmdACz; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519 header.b=fK4DSiJC; arc=pass (i=1 spf=pass spfdomain=suse.cz dkim=pass dkdomain=suse.cz dkim=pass dkdomain=suse.cz); spf=pass (google.com: domain of linux-kernel+bounces-183598-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-183598-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a640c23a62f3a-a5a17be662fsi1326388266b.756.2024.05.20.03.18.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 03:18:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-183598-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=sJfmdACz; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519 header.b=fK4DSiJC; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=sJfmdACz; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519 header.b=fK4DSiJC; arc=pass (i=1 spf=pass spfdomain=suse.cz dkim=pass dkdomain=suse.cz dkim=pass dkdomain=suse.cz); spf=pass (google.com: domain of linux-kernel+bounces-183598-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-183598-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 713541F21861 for ; Mon, 20 May 2024 10:18:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6DDC241760; Mon, 20 May 2024 10:18:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="sJfmdACz"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="fK4DSiJC"; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="sJfmdACz"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="fK4DSiJC" Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97E341CABA for ; Mon, 20 May 2024 10:18:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716200325; cv=none; b=nhhF1vfsoNGg4X86WB4RI+hT5QuEH93d3GqlEbV25j6xtAB7H6MX/EEx9DiQ1XhTh4So8ItYkhFodhZDAbCL8xHsyJW8wwsyedEzvFxlCJQRh2lRhYCadmAt6rjQWdhcLR3qDj555FMjlEDl02ktFuZvO5Yp0KXo1cO5O1Erikk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716200325; c=relaxed/simple; bh=31SGhrSY7V31kX3uc/XA+MoOQDZmHVv2umdLquyXrNI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=nOptsJbbhPp/G2V5iM/cWTleLFXhQMbtHt+ok7bCkTNV651mk37TaPu4RoiOuHPNW8DggsI5gRdJIGO7oETqdCs1Ur0F86y33nradj3f+taihC03x1Pupnpe6901JejXALZdTLPQfLRPDaQyGyTDnD7HDkoyGjUXNr4wC/L6SIs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=sJfmdACz; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=fK4DSiJC; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=sJfmdACz; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=fK4DSiJC; arc=none smtp.client-ip=195.135.223.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id B97E7204CF; Mon, 20 May 2024 10:18:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1716200321; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=xo9Hid01k6Z2mE25I4gQTE6p4tBM2fMiQViOM3GIseI=; b=sJfmdACzHAWNB4Ieor0s2b7gWHJTfLeLyZpczQsIqqlC4bqeae/ywYir4rDryYBMaj+4gh 8EInRWz8X7amAzei1MyXcye1nNG/O+mf/G+GV5TNlwAagk75C+NxaUwkkq7C5g1xYIC4wo VlKfKXfuA+cExlr+xWqrF9t0xydl5LA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1716200321; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=xo9Hid01k6Z2mE25I4gQTE6p4tBM2fMiQViOM3GIseI=; b=fK4DSiJC/lyslJiDgr4j6MMMiRBlpbkOr0Mi78DMuOv8hWRG9px+/Pm/LV5KERrhuKl4MZ InWSxAAVqHbudyCg== Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=sJfmdACz; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=fK4DSiJC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1716200321; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=xo9Hid01k6Z2mE25I4gQTE6p4tBM2fMiQViOM3GIseI=; b=sJfmdACzHAWNB4Ieor0s2b7gWHJTfLeLyZpczQsIqqlC4bqeae/ywYir4rDryYBMaj+4gh 8EInRWz8X7amAzei1MyXcye1nNG/O+mf/G+GV5TNlwAagk75C+NxaUwkkq7C5g1xYIC4wo VlKfKXfuA+cExlr+xWqrF9t0xydl5LA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1716200321; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=xo9Hid01k6Z2mE25I4gQTE6p4tBM2fMiQViOM3GIseI=; b=fK4DSiJC/lyslJiDgr4j6MMMiRBlpbkOr0Mi78DMuOv8hWRG9px+/Pm/LV5KERrhuKl4MZ InWSxAAVqHbudyCg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9E44013A21; Mon, 20 May 2024 10:18:41 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id eUo1JoEjS2aiDgAAD6G6ig (envelope-from ); Mon, 20 May 2024 10:18:41 +0000 Message-ID: <8053cb9b-7002-43a8-bda7-ea060ab1b055@suse.cz> Date: Mon, 20 May 2024 12:18:41 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [GIT PULL] slab updates for 6.10 To: Linus Torvalds Cc: David Rientjes , Joonsoo Kim , Christoph Lameter , Pekka Enberg , Andrew Morton , "linux-mm@kvack.org" , LKML , patches@lists.linux.dev, Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Chengming Zhou References: <587f5e6b-d543-4028-85c8-93cc8f581d02@suse.cz> Content-Language: en-US From: Vlastimil Babka Autocrypt: addr=vbabka@suse.cz; keydata= xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB 87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+ 9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4 8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x 6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJkBREIBQkRadznAAoJECJPp+fMgqZkNxIQ ALZRqwdUGzqL2aeSavbum/VF/+td+nZfuH0xeWiO2w8mG0+nPd5j9ujYeHcUP1edE7uQrjOC Gs9sm8+W1xYnbClMJTsXiAV88D2btFUdU1mCXURAL9wWZ8Jsmz5ZH2V6AUszvNezsS/VIT87 AmTtj31TLDGwdxaZTSYLwAOOOtyqafOEq+gJB30RxTRE3h3G1zpO7OM9K6ysLdAlwAGYWgJJ V4JqGsQ/lyEtxxFpUCjb5Pztp7cQxhlkil0oBYHkudiG8j1U3DG8iC6rnB4yJaLphKx57NuQ PIY0Bccg+r9gIQ4XeSK2PQhdXdy3UWBr913ZQ9AI2usid3s5vabo4iBvpJNFLgUmxFnr73SJ KsRh/2OBsg1XXF/wRQGBO9vRuJUAbnaIVcmGOUogdBVS9Sun/Sy4GNA++KtFZK95U7J417/J Hub2xV6Ehc7UGW6fIvIQmzJ3zaTEfuriU1P8ayfddrAgZb25JnOW7L1zdYL8rXiezOyYZ8Fm ZyXjzWdO0RpxcUEp6GsJr11Bc4F3aae9OZtwtLL/jxc7y6pUugB00PodgnQ6CMcfR/HjXlae h2VS3zl9+tQWHu6s1R58t5BuMS2FNA58wU/IazImc/ZQA+slDBfhRDGYlExjg19UXWe/gMcl De3P1kxYPgZdGE2eZpRLIbt+rYnqQKy8UxlszsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5 J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G /N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2 wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ PVAiT6fnzIKmZAUCZAUSmwUJDK5EZgAKCRAiT6fnzIKmZOJGEACOKABgo9wJXsbWhGWYO7mD 8R8mUyJHqbvaz+yTLnvRwfe/VwafFfDMx5GYVYzMY9TWpA8psFTKTUIIQmx2scYsRBUwm5VI EurRWKqENcDRjyo+ol59j0FViYysjQQeobXBDDE31t5SBg++veI6tXfpco/UiKEsDswL1WAr tEAZaruo7254TyH+gydURl2wJuzo/aZ7Y7PpqaODbYv727Dvm5eX64HCyyAH0s6sOCyGF5/p eIhrOn24oBf67KtdAN3H9JoFNUVTYJc1VJU3R1JtVdgwEdr+NEciEfYl0O19VpLE/PZxP4wX PWnhf5WjdoNI1Xec+RcJ5p/pSel0jnvBX8L2cmniYnmI883NhtGZsEWj++wyKiS4NranDFlA HdDM3b4lUth1pTtABKQ1YuTvehj7EfoWD3bv9kuGZGPrAeFNiHPdOT7DaXKeHpW9homgtBxj 8aX/UkSvEGJKUEbFL9cVa5tzyialGkSiZJNkWgeHe+jEcfRT6pJZOJidSCdzvJpbdJmm+eED w9XOLH1IIWh7RURU7G1iOfEfmImFeC3cbbS73LQEFGe1urxvIH5K/7vX+FkNcr9ujwWuPE9b 1C2o4i/yZPLXIVy387EjA6GZMqvQUFuSTs/GeBcv0NjIQi8867H3uLjz+mQy63fAitsDwLmR EP+ylKVEKb0Q2A== In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Level: X-Spamd-Result: default: False [-3.00 / 50.00]; BAYES_HAM(-3.00)[100.00%]; SUSPICIOUS_RECIPS(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; XM_UA_NO_VERSION(0.01)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; ARC_NA(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; FREEMAIL_CC(0.00)[google.com,lge.com,linux.com,kernel.org,linux-foundation.org,kvack.org,vger.kernel.org,lists.linux.dev,linux.dev,gmail.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWELVE(0.00)[12]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_RCPT(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DKIM_TRACE(0.00)[suse.cz:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[] X-Rspamd-Action: no action X-Rspamd-Queue-Id: B97E7204CF X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spam-Flag: NO X-Spam-Score: -3.00 On 5/13/24 7:33 PM, Linus Torvalds wrote: > On Thu, 9 May 2024 at 07:25, Vlastimil Babka wrote: >> >> To avoid affecting fast paths with another shared counter (attempted in the >> past) or complex partial list traversal schemes that allow rescheduling, the >> chosen solution resorts to approximation - when the partial list is over >> 10000 slabs long, we will only traverse first 5000 slabs from head and tail >> each and use the average of those to estimate the whole list. Both head and >> tail are used as the slabs near head to tend to have more free objects than >> the slabs towards the tail. > > I suspect you could have cut this down by an order of magnitude, and > made the limit be just 1k slabs rather than 10k slabs. Or even > _another_ order of magnitude smaller. > > Somebody was being a bit too worried about approximations, methinks - Indeed, my focus was that we make the approximation as accurate as possible when introducing it, to minimize the chance of possibly breaking somebody and having to revert it. Then we can try reduce the limit once the approach itself is established. > but I think the real worry goes the other way, where it's practically > so hard to even hit the approximation situation that it gets no > testing at all. Good point. > IOW, I suspect it's better to be explicit about approximations, and > have people aware of it, rather than be overly cautious and have it be > a special case that almost never triggers in any normal loads. OK we can reduce the limit sooner than later. As for explicit, there was an idea that an approximated line in slabinfo would be marked, but I thought changing the layout would be more likely to break someone parsing it, than an unmarked approximation. We can be more explicit e.g. in the documentation though for sure. > But pulled. Thanks. > > Linus