From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 78D202EA147 for ; Sat, 7 Feb 2026 23:43:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770507789; cv=none; b=qu5xOW4PEFMK+xUbnVln100x/+A0ar6SlekwjKaU4k4q6Xh2R8dQjSE4VnZ+wS6lHI3Mij1CSWvksfxzPaU+ejhOXIdPlZ++BlHQMREwVPZGAiMwM2sSZXvgXWgCVTQuJjDQgGZJVyDlyOjqj9OY2X9dIGGwhEBvpP27xufSDqY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770507789; c=relaxed/simple; bh=8i81zbXbyT1dzejL7cyocODbChhdw0YeY5Gy3hVQUZ0=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tBOtRRhaG4+A+aqAIx8tmYMqMzXbSjUqF7BIA1AukIEpFKeWromCdpM4RZ5unYpRpsHEVjW+SL8hvNx+MTn7ko/s6JuWdqZILwXjxFAErO03vvC9Zvde7M/cvULbsiyKnKImfDAEuGp5ZYZ2Zez+BI1+5al22EAIDVSU1DdC3aw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CjCotDoh; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CjCotDoh" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-4359228b7c6so1102699f8f.2 for ; Sat, 07 Feb 2026 15:43:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770507788; x=1771112588; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=4G/pEvaOWqC8YJTxGUXRJzgY3sPldZPERZJV4v/OCCE=; b=CjCotDohYNuaFiJBkeVfIxAvscUEWbm5m23Ru3E2auexpwIelYiQL12HOUTz636sqd b6ajioATSpieg5zlghZj9ZCw5QFP8dAcGk+taDkan9dj5zndDFkj/gJCKcvawT3bxJF5 kkbETYh3wus5yM01ZUQdGhQZuHUySqsM+i2hn766LHy7Trvgxof4CYEzj/wV4351Dvu8 nIRJzw4jOZbSh+4x92lGst2QHsuRHdqHkakBsr4t+0JD4s6UgDmE7bW651jMdXtYLe0b d28FTK+KWR6lIBZPqQ6UtX97JXwPOk28mFSNBq+PL4k/Ibw8yVeyfcSXc+WdI2drpmXJ 7NtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770507788; x=1771112588; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4G/pEvaOWqC8YJTxGUXRJzgY3sPldZPERZJV4v/OCCE=; b=hEhRW/DKIaEP0YllYYtfvQyLCDYm1S0aJFFbY4D+xnu+gg7zDl5Y3lS3ARl03g134L KIglLgxO3rW1KjWv1fwWxBanLdYOJbg03Uh/ZP20zl3R1t+Ltl7msuWsfq6oeuvFrxK/ cCDA6TMgouQy/HUPVhg1kjNTQ9E35g2wbl4ERnxz/bhFUqLrK3BGa6faMe5LYRZVMmmA obl6piABAMr1KSLYaQyY4rbRUBkcXWBAi1XbD+us9ClnbfMk6WV/qJq/rxI4HTyoFv74 3LfTb/KfC3GY+oekZxi2ynHQxtkb3liyNwlgemQ5biPpsIfxyk0x2wrYJ0Uhtu8k+CEM LEoQ== X-Forwarded-Encrypted: i=1; AJvYcCVREAT2RPJGh37E3Iy+gXwofeI8gDHJSMWlOSzUfUKH/fQe+5g5pqxeYnmIKwpqVDjAK9+wWb/azs7ceFI=@vger.kernel.org X-Gm-Message-State: AOJu0YxTZ66bsLfnx6PXPLEbPiBCc1Fho/9lGhNAoCet5UniEhfzyx79 p+maMlf4u/QVdp9kx8tISlv2YURmYinVSbIpQQa2N4s+TTDiQ7y3ZZ3O X-Gm-Gg: AZuq6aJSp+eP6mpyKpElfGwkA0KJokM3mTUQ/JKT4Py2uEuE8WdFxjUkMXF4ygUekbz 7eyKnRKwd+GEg8uBQD0rAaMehNH7+T9WZDsoXx2dOxpK5YAzXw9GmvWyLcCDm5rFQbdHfywI2Hf JYCM3eAmGK7jju2n8gVI6IiEhJz8vuYRTJ+wYTlb8wswwXkwDPq/g2UM8dplgOAoibjD2Vsb0n0 lQziC/x01iKbOkVmzO+4P+jg7YGWNjETZXIajRT348yAdmExb6GeA2WUVM/AmNnWjj2+VMENgj5 9SuohD4Vq+Hab2T1/h92p9szr3QwufpT8YHNkJzd4fhxnq/HtkTP9QOo5o98uAt0AJnGRQ59dwt zX8s1MFGoSFFBKviNrtx3YC0VA1T3NB3nQifmigEnQIs9ggOntpYSb0Szvx8lfWcPjFPcjHpnkH ayoTn4NhJTrqttxB4DoB7R68dLvO/ipfDIukC0AYLbnhUvO4XKD23V X-Received: by 2002:a05:6000:2c08:b0:432:a9db:f99c with SMTP id ffacd0b85a97d-43629380ff2mr9037187f8f.31.1770507787600; Sat, 07 Feb 2026 15:43:07 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4362972fc26sm14402831f8f.22.2026.02.07.15.43.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Feb 2026 15:43:07 -0800 (PST) Date: Sat, 7 Feb 2026 23:43:05 +0000 From: David Laight To: Willy Tarreau Cc: Thomas =?UTF-8?B?V2Vpw59zY2h1aA==?= , linux-kernel@vger.kernel.org, Cheng Li Subject: Re: [PATCH v2 next 04/11] tools/nolibc/printf: Output pad characters in 16 byte chunks Message-ID: <20260207234305.508019e5@pumpkin> In-Reply-To: References: <20260206191121.3602-1-david.laight.linux@gmail.com> <20260206191121.3602-5-david.laight.linux@gmail.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Sat, 7 Feb 2026 20:38:36 +0100 Willy Tarreau wrote: > On Fri, Feb 06, 2026 at 07:11:14PM +0000, david.laight.linux@gmail.com wrote: > > From: David Laight > > > > Simple to do and saves calls to the callback function. > > +20 bytes here but OK for me. I think some of those come back when I change all the variables to 'int'. Some, but not all, is because width is 32bit but len is 64bit. The final change that did: width -= len; ... while (width > 0) saved a surprising amount provided the ... contained some code. Breath on the code (or compiler version) and you easily get +/-60 bytes. David > > > Signed-off-by: David Laight > > Acked-by: Willy Tarreau > > > --- > > > > Changes for v2: > > Formally patch 3, unchanged. > > > > tools/include/nolibc/stdio.h | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/tools/include/nolibc/stdio.h b/tools/include/nolibc/stdio.h > > index 552f09d51d82..c044a6b3babe 100644 > > --- a/tools/include/nolibc/stdio.h > > +++ b/tools/include/nolibc/stdio.h > > @@ -355,10 +355,12 @@ int __nolibc_printf(__nolibc_printf_cb cb, void *state, const char *fmt, va_list > > outstr = fmt; > > len = ofs - 1; > > flush_str: > > - while (width-- > len) { > > - if (cb(state, " ", 1) != 0) > > + while (width > len) { > > + unsigned int pad_len = ((width - len - 1) & 15) + 1; > > + width -= pad_len; > > + written += pad_len; > > + if (cb(state, " ", pad_len) != 0) > > return -1; > > - written += 1; > > } > > if (cb(state, outstr, len) != 0) > > return -1; > > Willy