Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Linux-5.15.9 The Ever Most CO2 Producing 3 Bit Change
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1483

PostPosted: Fri Dec 17, 2021 12:35 am    Post subject: Linux-5.15.9 The Ever Most CO2 Producing 3 Bit Change Reply with quote

Yesterdays Linux version update
was the most expensive one bit change.
I don't need, because I don't us conntrack
(just a guess)
Code:
# diff -u patch-5.15.8 patch-5.15.9
--- patch-5.15.8   2021-12-14 11:04:05.000000000 +0100
+++ patch-5.15.9   2021-12-16 15:24:03.000000000 +0100
@@ -196,7 +196,7 @@
     bit 1: enable rescheduling of new connections when it is safe.
     That is, whenever expire_nodest_conn and for TCP sockets, when
 diff --git a/Makefile b/Makefile
-index ed6e7ec60eff6..72344b214bba5 100644
+index ed6e7ec60eff6..e6d2ea920a1d1 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -1,7 +1,7 @@
@@ -204,7 +204,7 @@
  VERSION = 5
  PATCHLEVEL = 15
 -SUBLEVEL = 0
-+SUBLEVEL = 8
++SUBLEVEL = 9
  EXTRAVERSION =
  NAME = Trick or Treat
 
@@ -72744,7 +72744,7 @@
  LDLIBS = -lmnl
  TEST_GEN_FILES =  nf-queue
 diff --git a/tools/testing/selftests/netfilter/conntrack_vrf.sh b/tools/testing/selftests/netfilter/conntrack_vrf.sh
-new file mode 100644
+new file mode 100755
 index 0000000000000..8b5ea92345882
 --- /dev/null
 +++ b/tools/testing/selftests/netfilter/conntrack_vrf.sh


Last edited by ulenrich on Sat Dec 18, 2021 2:34 am; edited 1 time in total
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5394
Location: Bavaria

PostPosted: Fri Dec 17, 2021 1:12 am    Post subject: Re: Linux-5.15.9 The Ever Most CO2 Producing One Bit Change Reply with quote

ulenrich wrote:
[...]I don't need, because I don't us conntrack
(just a guess)

As far as I understand it, I dont need it also, even I am using conntrack in netfilter modules. (But my english is very poor and I dont understand "quilt" - leo translate this into german in a very obscure word):
Quote:
netfilter: selftest: conntrack_vrf.sh: fix file permission

When backporting 33b8aad21ac1 ("selftests: netfilter: add a
vrf+conntrack testcase") to this stable branch, the executable bits were
not properly set on the
tools/testing/selftests/netfilter/conntrack_vrf.sh file due to quilt not
honoring them.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1483

PostPosted: Fri Dec 17, 2021 1:45 am    Post subject: Reply with quote

Arrrgh, this an april 1. like joke, because it is a known bug of quilt!
"quilt" is a tool to manage series (a list file) of patches. When I noticed that quilt doesn't do well the job with creating files,
I changed to my own script, I called kuilt - kernel quilt:
(If the kernel guy would have used my script, which cleanly uses patch, we now wouldn't have number nine of linux-5.15)
Code:
#!/bin/bash
C="/usr/src"
# location of /usr/src(/linux-x.y) and /usr/src(/patches-x.y)

#set -x
function myexit() {
   echo "$1"
   exit
}

[ "$UID" = "0" ] \
   || myexit "only root can run this"

[ -f "./kernel/kexec.c" ] \
   && L=$(readlink -f -n ${PWD}) \
   || L=$(readlink -f -n $C/linux)

[ -f "$L/kernel/kexec.c" ] \
   || myexit "not found usr/src/linux sources"

version=""
[ -z "${version}" ] \
   && version=$(sed -n \
   -e'/^VERSION/ {s/^VERSION...//;N;s/\nPATCHLEVEL..././p ;q}' $L/Makefile)

[ -z "${version}" ] \
   && myexit "cannot find version"

y=0
clean="no"
while [ "$1" != "" ] ;do
  case $1 in
    "-h"|"--help"|"help")
       exec less $0
       exit
       ;;
    "-e"|"--edit"|"edit")
       exec mcedit $0
       exit
       ;;
    "push"|"--push"|"-push")
       y=1
       ;;
    "pop"|"--pop"|"-pop")
       y=-1
       ;;
    "popa"|"popall"|"--popall"|"-popa")
       y=-7899
       ;;
    "pusha"|"pushall"|"--pushall"|"-pusha"|"--pusha")
       y=6789
       ;;
    "-a")
       [ $y -gt 0 ] &&y=6789
       [ $y -lt 0 ] &&y=-7899
       ;;
    "clean"|"mrproper"|"--clean"|"--mrproper")
       clean="mrproper"
       y=-8999
       ;;
    "conf"|"config"|"--conf"|"--config"|"newconf"|"newconfig"|"--newconf"|"--newconfig")
        CONFIG=$( ls -1 /boot/config-${version}.* |sort --sort=version |tail -n 1 )
        [ ! -f ${CONFIG} ] &&echo "  .....  Warning: missing ${CONFIG}" &&exit
        echo "  .....  cat ${CONFIG}  :"
        cat ${CONFIG} >$L/.config
        echo "  .....  $L/.config"
        exit
    ;;
    *)
       [ $y -gt 0 ] &&y=$(( 0 + $1 )) ||y=$(( 0 - $1 ))
       ;;
  esac
  shift
done
applied=${L}/.appliedseries
P=${L/linux/patches}
series=$P/series
[ -d "$L" ]          ||myexit "missing Linux source dir: $L"
[ -f "$series" ]     ||myexit "missing series file: $series"
touch $applied       ||myexit "cannot touch $applied"
[ -f "$applied" ]    ||myexit "missing applied file: $applied"

cd $L                     ||myexit "could not enter linux tree $L"
[ -f "./kernel/kexec.c" ] ||myexit "could not enter linux tree $L"

if [ "${clean}" = "mrproper" ] ;then
        echo "  .....  if  /boot/config-${version}  then  mrproper  else  clean"
        CONFIG=$( ls -1 /boot/config-${version}.* |sort --sort=version |tail -n 1 )
        if [ "" = "${CONFIG}" ] ;then
                echo "  .....  warning:  missing  /boot/config-${version}.*"
                echo "  .....  $L  :  make clean "
                make clean
        else
                echo "  .....  $L  :  make mrproper "
                make mrproper
                echo "  .....  cat ${CONFIG}"
                cat ${CONFIG} >$L/.config
                echo "  .....  $L/.config"
        fi
fi


if [ ${y} -gt 0 ] ;then
    echo "  .....  $L  :  patching"
    while read f ;do
      [ "${f:0:1}" = "#" ]          &&continue
      grep -q -e"^${f}$" ${applied} &&continue
      g=$P/$f
      if [ -f "$g" ] ;then
         patch -p1 --dry-run --silent --input $g ||myexit "  .....  exit  :  error patching $f"
         echo "  .....  patch -p1 --input $f"
         patch -p1 --input $g   ||myexit "$0 error apply $f"
         echo "$f" >> $applied
      fi
      y=$(( y - 1 ))
      [ $y = 0 ] &&break
    done < $series
    if [ ! -f ${applied} ] ;then
        myexit "  .....  $L  :  NOT any patch applied"
    else
        echo ""
        echo -n "  .....  ${applied}  :  "
        grep -v -c -e'^#' ${applied}
    fi
    myexit " "
elif [ ${y} -lt 0 ] ;then
    echo "  .....  $L  :  reverse patching"
    all=""
    while read f ;do
      [ "${f:0:1}" = "#" ]      &&continue
      all="$f $all"
    done < $applied
    set -- $all
    while [ "$1" != "" ] ;do
      g=$P/$1
      echo "  .....  patch -R -p1 --input $1"
      patch -R -p1 --input $g \
        ||myexit "could not reverse $1"
      sed -i -e"s:^\($1\)$:\#\1:" $applied \
        ||myexit "couldn't deactivate $1"
      y=$(( y + 1 ))
      [ $y = 0 ]    &&break
      shift
    done
    echo ""
    echo -n "  .....  remaining in tree patches  : "
    grep -v -c -e'^#' "$applied"               \
    || rm   "${applied}"  # if none then rm
    myexit " "
fi
quilt is more complicated, because it not only handles kernel series as my script

Last edited by ulenrich on Fri Dec 17, 2021 2:27 am; edited 1 time in total
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23103

PostPosted: Fri Dec 17, 2021 2:22 am    Post subject: Re: Linux-5.15.9 The Ever Most CO2 Producing One Bit Change Reply with quote

ulenrich wrote:
Yesterdays Linux version update
was the most expensive one bit change.
The announcement specifically states:
Quote:
Only change here is a permission setting of a netfilter selftest file. No need to upgrade if this problem is not bothering you.
This stands in stark contrast to typical announcements which very pointedly instruct users to upgrade. Users who notice the lack of instruction will likely not upgrade.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1483

PostPosted: Fri Dec 17, 2021 2:33 am    Post subject: Reply with quote

@Hu, my own kernel build script doesn't read change files, but pulls the patch and counts the locations of fixes in the new kernel version. Therefore I saw the new kernel is barely different. Don't you think there are many sites compiling automatically the new version without any AI used to understand the changes?
Does someone know:
Has there ever been published a one bit changing new linux version by kernel.org before?
A minimalist record ready for the guiness book.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5394
Location: Bavaria

PostPosted: Fri Dec 17, 2021 12:31 pm    Post subject: Reply with quote

ulenrich wrote:
"quilt" is a tool to manage series (a list file) of patches.

ulenrich, thank you for this information.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23103

PostPosted: Fri Dec 17, 2021 4:37 pm    Post subject: Reply with quote

ulenrich wrote:
Don't you think there are many sites compiling automatically the new version without any AI used to understand the changes?
I expect that anyone who auto-builds the kernel without even waiting for human approval also has sufficient automation/caching that a trivial change like this would lead to a near perfect run of cache hits. That isn't quite as good as not building it at all, but considering how fast a ccache build is with hits versus without hits, it's still a huge savings.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1483

PostPosted: Fri Dec 17, 2021 10:07 pm    Post subject: Reply with quote

That's true: ccache
I never came to the idea to use having a little hard disk with my 12y old computer.

A day later kernel.org published the real version update with fixes! How about, they wanted to see how many downloads there will be from users not reading the ChangeLog about this one bit change?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5394
Location: Bavaria

PostPosted: Fri Dec 17, 2021 10:51 pm    Post subject: Reply with quote

ulenrich wrote:
[...] about this one bit change?

It has been 3 bits ... :lol:

(scnr)
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1483

PostPosted: Sat Dec 18, 2021 2:33 am    Post subject: Reply with quote

pietinger wrote:
ulenrich wrote:
[...] about this one bit change?

It has been 3 bits ... :lol:

(scnr)
Oh, yes. I looked only at the 6/7 and saw a pair as neighbour.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum