Received: by 2002:a05:7412:5112:b0:fa:6e18:a558 with SMTP id fm18csp1737089rdb; Thu, 25 Jan 2024 04:54:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IH7Wr0/1xwokBiJkXInE1eAvMoZ3lMqCmERetEjrxJ3yol47IjHEA4veyYqSw+K2Rwe5JkF X-Received: by 2002:a17:906:f0d3:b0:a30:d9b0:ce6e with SMTP id dk19-20020a170906f0d300b00a30d9b0ce6emr215780ejb.191.1706187265701; Thu, 25 Jan 2024 04:54:25 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706187265; cv=pass; d=google.com; s=arc-20160816; b=uC0dPTwFH6C3FrEcWVFJN8OZV3PfdXyXpUvWfrgS0s5yz6J+g/BWabOzLQBGeFTvzU 9nOguUKUVCleVCdVc5adZjrNcz9//ScAoS3EvUi1zbzZhaC9E20Kd6XKramrnCbij6fB W53blZeE3M0+ZMO6/DdxXFbnlpJHXfuIAUgq9cLXEQsyohHTuPa40pQ0I78NBpCM61FA 250UCFAVRiNOdinf+H8ROcT4Cwst8jweiXfnLLqLI1DzUKak0gRvxYzAkZGHO+88RrJv w34lA5kKwGocSBXZ6hY7Xg5LhYXtf6OofJLBd3uKIcFCcogiiVErzNWCe+jFFbKOar+K oH+Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:date:references:organization:in-reply-to:subject:cc:to :from:dkim-signature; bh=yCvTPN27V86rcn9qLJJidsdinTh7KpZAA/gs4nJQSTk=; fh=2Y9ENRPw8vQjb+1FZ36/DnS6k+mV8l9YywEBfAK/LoM=; b=jTw4gWuqn66Ymc5qUMm0Km13i4RKa+RZJ9GvOIj0b6Sc3DgF1D8xk6d13UNIQ8cf66 ZksEst8gdbFWokOZCndOKte4VJhd56vdAUU/6wQwzRoTPP5GasVAQSolV6yX4qAlyGoG d/yR3e54v1HAlsw1CI4pjoDOmCQoHsCUnc4XlQiJYgX6ZN8GgljIS5o0DZ7YmUfypLde Her77m3E9fkMCN/H9vUbrXVR3YIpH2U+EI8RF56GjxaKp+4dWkDYkE8vTw5UDbaknpIj VwETb0pZmuCben7K6g8nYsJYmMGgo/7fEZFs1WCN4R+LKZ9PIpILyB74RcO+q3J4XTyU C1aA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jRYeAJoB; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-38596-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-38596-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id c18-20020a17090603d200b00a31d1512f65si227122eja.368.2024.01.25.04.54.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 04:54:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-38596-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=@intel.com header.s=Intel header.b=jRYeAJoB; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-38596-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-38596-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com 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 4C9E51F25B13 for ; Thu, 25 Jan 2024 12:54:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 03A084F5EB; Thu, 25 Jan 2024 12:54:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="jRYeAJoB" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E86A145035; Thu, 25 Jan 2024 12:54:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706187256; cv=none; b=L0be1l5HNsgy97F/zIeg/ohA4jG0VZ+45MwhgO/M2HWBt9Fg0mP8FTut54cfeARN0bWh654IF3o9XLbEzbpzwCtbJGBXb9GKHQ7pj7zs38dfAFoX5t7+GEiSTWYjhaQv9j7qtkVoRLOfjYIGXiNdH8rM4w16m1054Qe/ysQ5C84= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706187256; c=relaxed/simple; bh=aDy+zxrBvLGBTnY5ULjZGxPIAzRHjhbDUT0L0vBGqd8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=TuHGDkWeel9Q+zSuumbRPxcyM1VQOZPo5jkPt2tT86H00FZZ2Kj94+5fhyhsCcwaLc/MCLeB+GRK5qRQYewwCjLO3+DTRDlxLbdoXsF+2dIQWvvkbA7793269ftgcHny3BaFdYV1JLUuVDEW1+cM+ORvS06JZQGbfWinVJNWyTs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=jRYeAJoB; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1706187254; x=1737723254; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=aDy+zxrBvLGBTnY5ULjZGxPIAzRHjhbDUT0L0vBGqd8=; b=jRYeAJoB7cpi+bhu61jCCApbXxTaDzoK4CS1BkR7woahFwpT7zF3qA8d UUc/3ZAw7+Q70fhbGRM5tp8YMauoUNldNMrtlb+WZrcq/hP8CJr5regbF Mq3pwydpLshH4frRxxtcCMGc2lJjHnI+KmGgPRJLpy630lObfhf/F8gWt RpMUWDgPe6iGZHhx6PDFl+LNsVL0vFUQD//zRJS3x1yQ9YrHyKnzM+m9H Cc3mtRKUO3xNZsNLE/Cf24jujnC9uEWaCO+8ag/uVsL4KMm6yFNLmN0Vv pJBst6y9K4IQeiV9Dk8rSTmBKTP5nzVoAkmutfDCr+nkKdj9eemzha48L Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10962"; a="15684163" X-IronPort-AV: E=Sophos;i="6.05,216,1701158400"; d="scan'208";a="15684163" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2024 04:54:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10962"; a="959846151" X-IronPort-AV: E=Sophos;i="6.05,216,1701158400"; d="scan'208";a="959846151" Received: from unknown (HELO localhost) ([10.237.66.162]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2024 04:54:09 -0800 From: Jani Nikula To: Thorsten Leemhuis , Linux kernel regressions list , Linux Doc Mailing List Cc: LKML , Jonathan Corbet , Bagas Sanjaya , Greg KH Subject: Re: More detailed text about bisecting Linux kernel regression -- request for comments and help In-Reply-To: <5cfc34c7-8298-4639-bb81-8b95392279ba@leemhuis.info> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <87fryllpp5.fsf@intel.com> <5cfc34c7-8298-4639-bb81-8b95392279ba@leemhuis.info> Date: Thu, 25 Jan 2024 14:54:06 +0200 Message-ID: <874jf1lgk1.fsf@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Thu, 25 Jan 2024, Thorsten Leemhuis wrote: > On 25.01.24 10:36, Jani Nikula wrote: >> The one thing I find problematic is the use of shallow clones by default > > FWIW, some of what is in that text is a result of similar discussion > that happened when > Documentation/admin-guide/quickly-build-trimmed-linux.rst was submitted > about a year ago, which also uses shallow clones by default. > > Further a quick reminder, as it's easy to forget: most of us live in > areas where downloading a lot of data is not something that bothers us > or will take a lot of time. But it is different for some people that > will need this document. I'm not suggesting to ignore or forget the people for whom full clones might be slow or costly. I'm suggesting to first describe the basic principles in as simple ways as possible, and then expand on pitfalls and corner cases in separate sections. I think even the simplest and most basic kernel bisect can be intimidating for anyone doing it for the first time - and that's the target audience here - so I'd like to not scare people with all the difficulties with shallow clones right off the bat. Lure them in first! ;) Also not suggesting to throw out all the things you've written, just to structure it different. >> and, well, the use of git in ways that I myself can't figure out without >> resorting to the man pages. I think it's a lot of dark corners of git >> that's overwhelming and really unrelated to the bisection itself. >> >> If I point people at that, and they have problems, I'm just going to >> tell them to: >> >> git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >> cd linux >> git remote add stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git >> git fetch stable > > This could be simplified, as linux-stable.git includes mainline, it's > just sometimes a few hours behind. It's perhaps a personal preference more than anything to have origin always point at Linus' tree, and all the other repos as additional remotes. Then I can ask people to add remotes e.g. for drm subsystem to try out new stuff. YMMV. >> And I can tell them to 'git checkout v' and 'git checkout v' >> and proceed from there. >> >> To me, that's the TL;DR. > > FWIW, I earlier today considered changing this myself. But then I > noticed the bundle clone instructions (more on that below) are complex > as well. :-/ > > Hmmm. Maybe switching to "do a full clone of linus' repo (without using > bundles) and just telling users to add the stable branches they might > need" by default would be a good middle ground for this document. Guess > then I'd switch quickly-build-trimmed-linux.rst over myself. > >> And then you can have a section on "what if I >> really can't do full clones" and various options to save bandwidth. >> >>> Downloading the sources using a full git clone >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> If downloading and storing a lot of data (~4,4 Gigabyte as of early >>> 2023) is nothing that bothers you, instead of a shallow clone perform a >>> full git clone instead. You then will avoid the specialties mentioned >>> above and will have all versions and individual commits at hand at any >>> time:: >>> >>> curl -L \ >>> >>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/clone.bundle >>> \ >>> -o linux-stable.git.bundle >>> git clone linux-stable.git.bundle ~/linux/ >>> rm linux-stable.git.bundle >>> cd ~/linux/ >>> git remote set-url origin \ >>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git >>> git fetch origin >>> git checkout --detach origin/master >> >> I mean seriously, even the full clone instructions use curl, without >> rationale. Why? > > That was the result of the discussion back then, can't remember all the > details and all the places where that happened. Part of it was reducing > the server load, but that IIRC is mainly a concern for CI systems and > something this document can ignore. Unstable internet connection might > have been the main reason -- in combination with the redirection thing > kernel.org does, which *IIRC* prevents us from using "git clone > --bundle-uri=". Perhaps server load should not be a consideration in *this* particular case? To me, all of this is just saying "git is difficult", and that's kind of the wrong message here. :/ BR, Jani. -- Jani Nikula, Intel