All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [libnftnl PATCH 3/7] set: Introduce NFTNL_SET_DESC_CONCAT_DATA
From: Pablo Neira Ayuso @ 2022-01-05 16:17 UTC (permalink / raw)
  To: Phil Sutter, netfilter-devel
In-Reply-To: <20211130174558.GF29413@orbyte.nwl.cc>

Hi Phil,

Sorry for taking a while to catch up on this.

On Tue, Nov 30, 2021 at 06:45:58PM +0100, Phil Sutter wrote:
> Hi Pablo,
> 
> On Tue, Nov 30, 2021 at 02:46:58PM +0100, Pablo Neira Ayuso wrote:
> > On Wed, Nov 24, 2021 at 06:22:38PM +0100, Phil Sutter wrote:
> > > Analogous to NFTNL_SET_DESC_CONCAT, introduce a data structure
> > > describing individual data lengths of elements' concatenated data
> > > fields.
> > > 
> > > Signed-off-by: Phil Sutter <phil@nwl.cc>
> > > ---
> > >  include/libnftnl/set.h | 1 +
> > >  include/set.h          | 2 ++
> > >  src/set.c              | 8 ++++++++
> > >  3 files changed, 11 insertions(+)
> > > 
> > > diff --git a/include/libnftnl/set.h b/include/libnftnl/set.h
> > > index 1ffb6c415260d..958bbc9065f67 100644
> > > --- a/include/libnftnl/set.h
> > > +++ b/include/libnftnl/set.h
> > > @@ -33,6 +33,7 @@ enum nftnl_set_attr {
> > >  	NFTNL_SET_EXPR,
> > >  	NFTNL_SET_EXPRESSIONS,
> > >  	NFTNL_SET_DESC_BYTEORDER,
> > > +	NFTNL_SET_DESC_CONCAT_DATA,
> > 
> > This information is already encoded in NFTNL_SET_DATA_TYPE, the
> > datatypes that are defined in libnftables have an explicit byteorder
> > and length.
> 
> We don't define data types in libnftnl, merely expressions and (with
> your patch) those define what byteorder the source/destination registers
> are supposed to be.

OK.

> > For concatenation, this information is stored in 6 bits (see
> > TYPE_BITS). By parsing the NFTNL_SET_DATA_TYPE field you can extract
> > both types (and byteorders) of the set definition.
> 
> For this to work, I would have to duplicate nftables' enum datatypes and
> in addition to that add an array defining each type's byteorder. I had
> considered this once, but didn't like the amount of duplication.
> 
> > For the typeof case, where a generic datatype such as integer is used,
> > this information is stored in the SET_USERDATA area.
> 
> This does not work for concatenated elements, right? At least I see e.g.
> NFTNL_UDATA_SET_KEYBYTEORDER being set to set->key->byteorder, so that's
> just a single value, no?
> 
> > This update for libnftnl is adding a third way to describe the
> > datatypes in the set, right?
> 
> Well, it extends the logic around NFTNL_SET_DESC_CONCAT to non-interval
> sets and to maps (adding the same data for the target part).
> 
> Then there is the new NFTNL_SET_DESC_BYTEORDER which defines the
> byteorder of each part of the key (and value in maps).

I think it would be good to skip these new NFTNL_SET_DESC_* attributes
since they are not used to pass a description to the kernel to help it
select the best set type. So, instead of nftnl_set_elem_snprintf_desc(),
it should be possible to add:

int nftnl_set_elem_snprintf2(char *buf, size_t size,
                             const struct nftnl_set *s,
                             const struct nftnl_set_elem *e,
                             uint32_t type, uint32_t flags)

(or pick a better name if you come up with any other alternative).

So the nftnl_set object provides the byteorder notation to display the
set element accordingly.

This requires an extra conversion from struct set to struct nftnl_set
for the debug case, that should be fine (--debug is slow path anyway).
If this needs to be speed up later on, it should be possible to keep
the nftnl_set object around as context.

Then, there is already NFTNL_UDATA_SET_KEYBYTEORDER and
NFTNL_UDATA_SET_DATABYTEORDER which store the byteorder for key and
data. I'm going to have a look at the userdata API since to see if I
can propose an easy API to set and to get userdata information (this
is currently a blob using TLVs that are stored in the kernel, but they
are not interpreted by the kernel, it's only useful context
information for userspace which is included in netlink dumps). This
should fill missing gap in my proposal.

Looking at your series, I think it's better it's better to avoid the
struct nftnl_set_desc definition that is exposed in the libnftnl
header, this will not allow for future extensions without breaking
binary compatibility. I understand your motivation is to avoid a
duplicated definition in the libnftnl and nftables codebase.

^ permalink raw reply

* [Buildroot] package/aravis: new package
From: marc.chalain @ 2022-01-05 15:57 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Marc Chalain


[-- Attachment #1.1: Type: text/plain, Size: 3604 bytes --]

Hello and Happy new year,



I propose the integration of a camera capture library:



Aravis is a library to help GigE camera capture.
https://github.com/AravisProject/aravis/releases/tag/0.8.16
This rules install on target:
 libaravis
 arv-camera-test
 arv-fake-gv-camera
 arv-test
 arv-tool
and on staging
 aravis/*.h

Signed-off-by: Marc Chalain <marc.chalain@gmail.com>
---
 DEVELOPERS                 |  3 +++
 package/Config.in          |  1 +
 package/aravis/Config.in   | 16 ++++++++++++++++
 package/aravis/aravis.hash |  1 +
 package/aravis/aravis.mk   | 20 ++++++++++++++++++++
 5 files changed, 41 insertions(+)
 create mode 100644 package/aravis/Config.in
 create mode 100644 package/aravis/aravis.hash
 create mode 100644 package/aravis/aravis.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 6dc2e68e42..05c1c3c921 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1653,6 +1653,9 @@ N:    Manuel Vögele <develop@manuel-voegele.de>
 F:    package/python-pyqt5/
 F:    package/python-requests-toolbelt/
 
+N:    Marc Chalain <marc.chalain@gmail.com>
+F:    package/aravis
+
 N:    Marcin Bis <marcin@bis.org.pl>
 F:    package/bluez5_utils/
 F:    package/cc-tool/
diff --git a/package/Config.in b/package/Config.in
index 9fed0ab4cb..2a1781afe9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1698,6 +1698,7 @@ menu "Logging"
 endmenu
 
 menu "Multimedia"
+    source "package/aravis/Config.in"
     source "package/bitstream/Config.in"
     source "package/dav1d/Config.in"
     source "package/kvazaar/Config.in"
diff --git a/package/aravis/Config.in b/package/aravis/Config.in
new file mode 100644
index 0000000000..02c71c44da
--- /dev/null
+++ b/package/aravis/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_ARAVIS
+    bool "aravis - GigE Camera"
+    depends on BR2_USE_WCHAR
+    depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+    depends on BR2_PACKAGE_PCRE_16
+    depends on BR2_PACKAGE_PCRE_32
+    select BR2_PACKAGE_LIBGLIB2
+    select BR2_PACKAGE_LIBXML2
+    help
+      aravis provides the support of GigE camera
+      and USB3Vision camera.
+      https://github.com/AravisProject/aravis
+
+comment "aravis needs a toolchain w/ wchar, NPTL, PCRE 16/32"
+    depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+    !BR2_PACKAGE_PCRE_16 || !BR2_PACKAGE_PCRE_32
diff --git a/package/aravis/aravis.hash b/package/aravis/aravis.hash
new file mode 100644
index 0000000000..f8512491ec
--- /dev/null
+++ b/package/aravis/aravis.hash
@@ -0,0 +1 @@
+sha256 057166753443acc115259ca1f74bd1b28ed4d48f35261cb248eafb8f86664bc7 aravis-0.8.16.tar.gz
diff --git a/package/aravis/aravis.mk b/package/aravis/aravis.mk
new file mode 100644
index 0000000000..bd783a0374
--- /dev/null
+++ b/package/aravis/aravis.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# aravis
+#
+################################################################################
+
+ARAVIS_VERSION = 0.8.16
+ARAVIS_SITE = $(call github,AravisProject,aravis,$(ARAVIS_VERSION))
+ARAVIS_DEPENDENCIES = \
+    host-pkgconf \
+    libglib2 \
+    libxml2
+ARAVIS_INSTALL_STAGING = YES
+ARAVIS_LICENSE = LGPL-2
+ARAVIS_LICENSE_FILES = COPYING
+ARAVIS_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
+
+ARAVIS_CONF_OPTS += -Ddocumentation=disabled
+
+$(eval $(meson-package))
-- 
2.30.2




[-- Attachment #1.2: Type: text/html, Size: 4151 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-package-aravis-new-package.patch --]
[-- Type: text/x-patch; name="0001-package-aravis-new-package.patch", Size: 3369 bytes --]

From 4cdaba5a557cd393802b4e563e6f0c7f6bcc0854 Mon Sep 17 00:00:00 2001
From: mchalain <marc.chalain@scantech.com>
Date: Wed, 5 Jan 2022 16:31:57 +0100
Subject: [PATCH 1/1] package/aravis: new package

Aravis is a library to help GigE camera capture.
https://github.com/AravisProject/aravis/releases/tag/0.8.16
This rules install on target:
 libaravis
 arv-camera-test
 arv-fake-gv-camera
 arv-test
 arv-tool
and on staging
 aravis/*.h

Signed-off-by: Marc Chalain <marc.chalain@gmail.com>
---
 DEVELOPERS                 |  3 +++
 package/Config.in          |  1 +
 package/aravis/Config.in   | 16 ++++++++++++++++
 package/aravis/aravis.hash |  1 +
 package/aravis/aravis.mk   | 20 ++++++++++++++++++++
 5 files changed, 41 insertions(+)
 create mode 100644 package/aravis/Config.in
 create mode 100644 package/aravis/aravis.hash
 create mode 100644 package/aravis/aravis.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 6dc2e68e42..05c1c3c921 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1653,6 +1653,9 @@ N:	Manuel Vögele <develop@manuel-voegele.de>
 F:	package/python-pyqt5/
 F:	package/python-requests-toolbelt/
 
+N:	Marc Chalain <marc.chalain@gmail.com>
+F:	package/aravis
+
 N:	Marcin Bis <marcin@bis.org.pl>
 F:	package/bluez5_utils/
 F:	package/cc-tool/
diff --git a/package/Config.in b/package/Config.in
index 9fed0ab4cb..2a1781afe9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1698,6 +1698,7 @@ menu "Logging"
 endmenu
 
 menu "Multimedia"
+	source "package/aravis/Config.in"
 	source "package/bitstream/Config.in"
 	source "package/dav1d/Config.in"
 	source "package/kvazaar/Config.in"
diff --git a/package/aravis/Config.in b/package/aravis/Config.in
new file mode 100644
index 0000000000..02c71c44da
--- /dev/null
+++ b/package/aravis/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_ARAVIS
+	bool "aravis - GigE Camera"
+	depends on BR2_USE_WCHAR
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on BR2_PACKAGE_PCRE_16
+	depends on BR2_PACKAGE_PCRE_32
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBXML2
+	help
+	  aravis provides the support of GigE camera
+	  and USB3Vision camera.
+	  https://github.com/AravisProject/aravis
+
+comment "aravis needs a toolchain w/ wchar, NPTL, PCRE 16/32"
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+	!BR2_PACKAGE_PCRE_16 || !BR2_PACKAGE_PCRE_32
diff --git a/package/aravis/aravis.hash b/package/aravis/aravis.hash
new file mode 100644
index 0000000000..f8512491ec
--- /dev/null
+++ b/package/aravis/aravis.hash
@@ -0,0 +1 @@
+sha256 057166753443acc115259ca1f74bd1b28ed4d48f35261cb248eafb8f86664bc7 aravis-0.8.16.tar.gz
diff --git a/package/aravis/aravis.mk b/package/aravis/aravis.mk
new file mode 100644
index 0000000000..bd783a0374
--- /dev/null
+++ b/package/aravis/aravis.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# aravis
+#
+################################################################################
+
+ARAVIS_VERSION = 0.8.16
+ARAVIS_SITE = $(call github,AravisProject,aravis,$(ARAVIS_VERSION))
+ARAVIS_DEPENDENCIES = \
+	host-pkgconf \
+	libglib2 \
+	libxml2
+ARAVIS_INSTALL_STAGING = YES
+ARAVIS_LICENSE = LGPL-2
+ARAVIS_LICENSE_FILES = COPYING
+ARAVIS_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
+
+ARAVIS_CONF_OPTS += -Ddocumentation=disabled
+
+$(eval $(meson-package))
-- 
2.30.2


[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related

* Re: [PATCH net 1/1] net: openvswitch: Fix ct_state nat flags for conns arriving from tc
From: Paul Blakey @ 2022-01-05 16:18 UTC (permalink / raw)
  To: Daniel Borkmann
  Cc: Jamal Hadi Salim, dev, netdev, Cong Wang, Pravin B Shelar, davem,
	Jiri Pirko, Jakub Kicinski, Saeed Mahameed, Oz Shlomo,
	Vlad Buslov, Roi Dayan, john.fastabend
In-Reply-To: <72368c25-83c5-565f-0512-ca5d58315685@iogearbox.net>

[-- Attachment #1: Type: text/plain, Size: 1678 bytes --]



On Wed, 5 Jan 2022, Daniel Borkmann wrote:

> On 1/5/22 3:57 PM, Jamal Hadi Salim wrote:
> > On 2022-01-04 03:28, Paul Blakey wrote:
> > [..]
> >> --- a/include/linux/skbuff.h
> >> +++ b/include/linux/skbuff.h
> >> @@ -287,7 +287,9 @@ struct tc_skb_ext {
> >>       __u32 chain;
> >>       __u16 mru;
> >>       __u16 zone;
> >> -    bool post_ct;
> >> +    bool post_ct:1;
> >> +    bool post_ct_snat:1;
> >> +    bool post_ct_dnat:1;
> >>   };
> > 
> > is skb_ext intended only for ovs? If yes, why does it belong
> > in the core code? Ex: Looking at tcf_classify() which is such
> > a core function in the fast path any packet going via tc, it
> > is now encumbered with with checking presence of skb_ext.
> > I know passing around metadata is a paramount requirement
> > for programmability but this is getting messier with speacial
> > use cases for ovs and/or offload...
> 
> Full ack on the bloat for corner cases like ovs offload, especially
> given distros just enable most stuff anyway and therefore no light
> fast path as with !CONFIG_NET_TC_SKB_EXT. :(
> 
> Could this somehow be hidden behind static key or such if offloads
> are not used, so we can shrink it back to just calling into plain
> __tcf_classify() for sw-only use cases (like BPF)?
> 
> 

It is used for both tc -> ovs and driver -> tc path.

I think I can do what you suggest adn will work on something like
that,  but this specific patch  doesn't really change the ext 
allocation/derefences count (and probably  not the size as well).
So can  we take  this (not yet posted v2 after fixing what already 
mentioned) and I'll do a patch of what you suggest in net-next?


^ permalink raw reply

* Re: [PATCH] xfs/014: try a few times to create speculative preallocations
From: Zorro Lang @ 2022-01-05 16:19 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Eryu Guan, fstests, xfs
In-Reply-To: <20220104020417.GB31566@magnolia>

On Mon, Jan 03, 2022 at 06:04:17PM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> This test checks that speculative file preallocations are transferred to
> threads writing other files when space is low.  Since we have background
> threads to clear those preallocations, it's possible that the test
> program might not get a speculative preallocation on the first try.
> 
> This problem has become more pronounced since the introduction of
> background inode inactivation since userspace no longer has direct
> control over the timing of file blocks being released from unlinked
> files.  As a result, the author has seen an increase in sporadic
> warnings from this test about speculative preallocations not appearing.
> 
> Therefore, modify the function to try up to five times to create the
> speculative preallocation before emitting warnings that then cause
> golden output failures.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
>  tests/xfs/014 |   41 +++++++++++++++++++++++++----------------
>  1 file changed, 25 insertions(+), 16 deletions(-)
> 
> diff --git a/tests/xfs/014 b/tests/xfs/014
> index a605b359..1f0ebac3 100755
> --- a/tests/xfs/014
> +++ b/tests/xfs/014
> @@ -33,27 +33,36 @@ _cleanup()
>  # failure.
>  _spec_prealloc_file()
>  {
> -	file=$1
> +	local file=$1
> +	local prealloc_size=0
> +	local i=0
>  
> -	rm -f $file
> +	# Now that we have background garbage collection processes that can be
> +	# triggered by low space/quota conditions, it's possible that we won't
> +	# succeed in creating a speculative preallocation on the first try.
> +	for ((tries = 0; tries < 5 && prealloc_size == 0; tries++)); do
> +		rm -f $file
>  
> -	# a few file extending open-write-close cycles should be enough to
> -	# trigger the fs to retain preallocation. write 256k in 32k intervals to
> -	# be sure
> -	for i in $(seq 0 32768 262144); do
> -		$XFS_IO_PROG -f -c "pwrite $i 32k" $file >> $seqres.full
> +		# a few file extending open-write-close cycles should be enough
> +		# to trigger the fs to retain preallocation. write 256k in 32k
> +		# intervals to be sure
> +		for i in $(seq 0 32768 262144); do
> +			$XFS_IO_PROG -f -c "pwrite $i 32k" $file >> $seqres.full
> +		done
> +
> +		# write a 4k aligned amount of data to keep the calculations
> +		# simple
> +		$XFS_IO_PROG -c "pwrite 0 128m" $file >> $seqres.full
> +
> +		size=`_get_filesize $file`
> +		blocks=`stat -c "%b" $file`
> +		blocksize=`stat -c "%B" $file`
> +
> +		prealloc_size=$((blocks * blocksize - size))

So we only try same pwrite operations 5 times, and only check the prealloc_size after 5
times done? Should we break from this loop once prealloc_size > 0?

Thanks,
Zorro

>  	done
>  
> -	# write a 4k aligned amount of data to keep the calculations simple
> -	$XFS_IO_PROG -c "pwrite 0 128m" $file >> $seqres.full
> -
> -	size=`_get_filesize $file`
> -	blocks=`stat -c "%b" $file`
> -	blocksize=`stat -c "%B" $file`
> -
> -	prealloc_size=$((blocks * blocksize - size))
>  	if [ $prealloc_size -eq 0 ]; then
> -		echo "Warning: No speculative preallocation for $file." \
> +		echo "Warning: No speculative preallocation for $file after $tries iterations." \
>  			"Check use of the allocsize= mount option."
>  	fi
>  
> 


^ permalink raw reply

* Re: [PATCH] x86/spec-ctrl: Fix default calculation of opt_srb_lock
From: Jan Beulich @ 2022-01-05 16:19 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Roger Pau Monné, Wei Liu, Xen-devel
In-Reply-To: <20220104144422.29989-1-andrew.cooper3@citrix.com>

On 04.01.2022 15:44, Andrew Cooper wrote:
> Since this logic was introduced, opt_tsx has become more complicated and
> shouldn't be compared to 0 directly.  While there are no buggy logic paths,
> the correct expression is !(opt_tsx & 1) but the rtm_disabled boolean is
> easier and clearer to use.
> 
> Fixes: 8fe24090d940 ("x86/cpuid: Rework HLE and RTM handling")

Is this accurate? Backporting the change to 4.13 locally, I notice that
commit (and hence the rtm_disabled global variable) is not present on
that branch, yet opt_tsx already has the "more complicated" behavior.

Jan



^ permalink raw reply

* [Buildroot] call with hooks
From: Danomi Manchego @ 2022-01-05 16:20 UTC (permalink / raw)
  To: buildroot

 Hello all,

I noticed a possible inconsistency, and thought I should post it.
Looking at places where buildroot uses hooks:

$ grep -r '$(hook))$(sep)' .
./Makefile: $(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_EXTRACT_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_EXTRACT_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_RSYNC_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_RSYNC_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_PATCH_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_PATCH_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_PREPARE_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_CONFIGURE_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_CONFIGURE_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_BUILD_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_BUILD_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_INSTALL_IMAGES_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_INSTALL_IMAGES_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_PRE_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
./package/pkg-generic.mk: $(foreach
hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))

Notice that the one hit in Makefile uses "$($(hook))$(sep)" while the
hits in pkg-generic.mk use "$(call $(hook))$(sep)".  My Make-fu isn't
powerful enough to understand if there is an actual problem - should
there be a "call" in the Makefile line?  The general syntax for call
is "$(call variable,param,param,…)" so I don't follow what the extra
call in $(call $(hook) is doing for us.

Thanks,
Danomi -
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply

* stable-rc/queue/4.14 build: 196 builds: 3 failed, 193 passed, 2 errors, 32 warnings (v4.14.260-19-gae196dc2c9ce)
From: kernelci.org bot @ 2022-01-05 16:22 UTC (permalink / raw)
  To: stable, kernel-build-reports, kernelci-results

stable-rc/queue/4.14 build: 196 builds: 3 failed, 193 passed, 2 errors, 32 warnings (v4.14.260-19-gae196dc2c9ce)

Full Build Summary: https://kernelci.org/build/stable-rc/branch/queue%2F4.14/kernel/v4.14.260-19-gae196dc2c9ce/

Tree: stable-rc
Branch: queue/4.14
Git Describe: v4.14.260-19-gae196dc2c9ce
Git Commit: ae196dc2c9ce32094877e4d1b8ab1742141a8970
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 6 unique architectures

Build Failures Detected:

arm:
    rpc_defconfig: (gcc-10) FAIL

mips:
    ip27_defconfig: (gcc-10) FAIL
    ip28_defconfig: (gcc-10) FAIL

Errors and Warnings Detected:

arc:

arm64:

arm:
    mini2440_defconfig (gcc-10): 1 warning
    omap1_defconfig (gcc-10): 1 warning
    rpc_defconfig (gcc-10): 2 errors
    s3c2410_defconfig (gcc-10): 1 warning

i386:
    allnoconfig (gcc-10): 3 warnings
    i386_defconfig (gcc-10): 3 warnings
    tinyconfig (gcc-10): 3 warnings

mips:
    malta_qemu_32r6_defconfig (gcc-10): 1 warning
    mtx1_defconfig (gcc-10): 3 warnings

x86_64:
    allnoconfig (gcc-10): 4 warnings
    tinyconfig (gcc-10): 4 warnings
    x86_64_defconfig (gcc-10): 4 warnings
    x86_64_defconfig+x86-chromebook (gcc-10): 4 warnings

Errors summary:

    1    arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv3
    1    arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’

Warnings summary:

    7    ld: warning: creating DT_TEXTREL in a PIE
    4    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    4    arch/x86/entry/entry_64.S:1642: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
    4    Warning: synced file at 'tools/objtool/arch/x86/include/asm/insn.h' differs from latest kernel version at 'arch/x86/include/asm/insn.h'
    3    ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
    3    arch/x86/entry/entry_32.S:482: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
    2    sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
    2    drivers/tty/serial/samsung.c:1794:34: warning: array ‘s3c24xx_uart_dt_match’ assumed to have one element
    1    {standard input}:30: Warning: macro instruction expanded into multiple instructions
    1    sound/pci/echoaudio/echoaudio_dsp.c:658:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
    1    drivers/gpio/gpio-omap.c:1152:34: warning: array ‘omap_gpio_match’ assumed to have one element

================================================================================

Detailed per-defconfig build reports:

--------------------------------------------------------------------------------
32r2el_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
acs5k_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
allnoconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
allnoconfig (x86_64, gcc-10) — PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
    Warning: synced file at 'tools/objtool/arch/x86/include/asm/insn.h' differs from latest kernel version at 'arch/x86/include/asm/insn.h'
    arch/x86/entry/entry_64.S:1642: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
allnoconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
allnoconfig (i386, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
    arch/x86/entry/entry_32.S:482: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
    ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
am200epdkit_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ar7_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
aspeed_g4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
aspeed_g5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
assabet_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
at91_dt_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ath25_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ath79_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
axm55xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
axs103_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
axs103_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
badge4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bcm2835_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bcm47xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bcm63xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bigsur_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bmips_be_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
bmips_stb_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
capcella_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
cerfcube_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ci20_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
cm_x300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
cobalt_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
collie_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
corgi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
davinci_all_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
db1xxx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
decstation_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
defconfig (arm64, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
defconfig+arm64-chromebook (arm64, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
dove_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
e55_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ebsa110_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
efm32_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
em_x270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ep93xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
exynos_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ezx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
footbridge_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
fuloong2e_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
gemini_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
gpr_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
h3600_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
h5000_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
hackkit_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
haps_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
haps_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
hisi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
hsdk_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
i386_defconfig (i386, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
    arch/x86/entry/entry_32.S:482: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
    ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
imote2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
integrator_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
iop13xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
iop32x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
iop33x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ip22_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ip27_defconfig (mips, gcc-10) — FAIL, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ip28_defconfig (mips, gcc-10) — FAIL, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ip32_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ixp4xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
jazz_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
jmr3927_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
jornada720_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
keystone_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
ks8695_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lart_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lasat_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lemote2f_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
loongson1b_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
loongson1c_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
loongson3_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lpc18xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lpc32xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lpd270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
lubbock_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
magician_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mainstone_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
malta_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
malta_kvm_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
malta_qemu_32r6_defconfig (mips, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches

Warnings:
    {standard input}:30: Warning: macro instruction expanded into multiple instructions

--------------------------------------------------------------------------------
maltaaprp_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
maltasmvp_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
maltaup_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
maltaup_xpa_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
markeins_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mini2440_defconfig (arm, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches

Warnings:
    drivers/tty/serial/samsung.c:1794:34: warning: array ‘s3c24xx_uart_dt_match’ assumed to have one element

--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mmp2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
moxart_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mpc30x_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mps2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
msp71xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mtx1_defconfig (mips, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
    sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
    sound/pci/echoaudio/echoaudio_dsp.c:658:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
    sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]

--------------------------------------------------------------------------------
multi_v4t_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
multi_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
multi_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
mxs_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
neponset_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
netwinder_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
netx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nhk8815_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nsim_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nsim_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nsimosci_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nsimosci_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nuc910_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nuc950_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
nuc960_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
omap1_defconfig (arm, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches

Warnings:
    drivers/gpio/gpio-omap.c:1152:34: warning: array ‘omap_gpio_match’ assumed to have one element

--------------------------------------------------------------------------------
omap2plus_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
omega2p_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
orion5x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
palmz72_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pcm027_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pic32mzda_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pistachio_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pleb_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
prima2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pxa168_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pxa3xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pxa910_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
pxa_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
qcom_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
qi_lb60_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
raumfeld_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
rb532_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
realview_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
rm200_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
rpc_defconfig (arm, gcc-10) — FAIL, 2 errors, 0 warnings, 0 section mismatches

Errors:
    arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv3
    arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’

--------------------------------------------------------------------------------
rt305x_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
s3c2410_defconfig (arm, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches

Warnings:
    drivers/tty/serial/samsung.c:1794:34: warning: array ‘s3c24xx_uart_dt_match’ assumed to have one element

--------------------------------------------------------------------------------
s3c6400_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
s5pv210_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
sama5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
shannon_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
shmobile_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
simpad_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
socfpga_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
spear13xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
spear3xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
spear6xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
spitz_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
stm32_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
sunxi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tango4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tb0219_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tb0226_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tb0287_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tct_hammer_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tegra_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tinyconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tinyconfig (x86_64, gcc-10) — PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
    Warning: synced file at 'tools/objtool/arch/x86/include/asm/insn.h' differs from latest kernel version at 'arch/x86/include/asm/insn.h'
    arch/x86/entry/entry_64.S:1642: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
tinyconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
tinyconfig (i386, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
    arch/x86/entry/entry_32.S:482: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
    ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
trizeps4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
u300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
u8500_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
vdk_hs38_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
vdk_hs38_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
versatile_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
vexpress_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
viper_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
vocore2_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
workpad_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
x86_64_defconfig (x86_64, gcc-10) — PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
    Warning: synced file at 'tools/objtool/arch/x86/include/asm/insn.h' differs from latest kernel version at 'arch/x86/include/asm/insn.h'
    arch/x86/entry/entry_64.S:1642: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
x86_64_defconfig+x86-chromebook (x86_64, gcc-10) — PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
    Warning: synced file at 'tools/objtool/arch/x86/include/asm/insn.h' differs from latest kernel version at 'arch/x86/include/asm/insn.h'
    arch/x86/entry/entry_64.S:1642: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
    ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
    ld: warning: creating DT_TEXTREL in a PIE

--------------------------------------------------------------------------------
xcep_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
xilfpga_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
zeus_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

--------------------------------------------------------------------------------
zx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches

---
For more info write to <info@kernelci.org>

^ permalink raw reply

* Re: [PATCH] t/README: fix typo
From: Johannes Schindelin @ 2022-01-05 16:22 UTC (permalink / raw)
  To: Marc Strapetz via GitGitGadget; +Cc: git, Marc Strapetz, Marc Strapetz
In-Reply-To: <pull.1110.git.1641338224631.gitgitgadget@gmail.com>

Hi Marc,

On Tue, 4 Jan 2022, Marc Strapetz via GitGitGadget wrote:

> From: Marc Strapetz <marc.strapetz@syntevo.com>
>
> Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
> ---
>     t/README: fix typo
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1110%2Fmstrap%2Ffeature%2FREADME-typo-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1110/mstrap/feature/README-typo-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1110
>
>  t/README | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/README b/t/README
> index 2353a4c5e13..f48e0542cdc 100644
> --- a/t/README
> +++ b/t/README
> @@ -466,7 +466,7 @@ explicitly providing repositories when accessing submodule objects is
>  complete or needs to be abandoned for whatever reason (in which case the
>  migrated codepaths still retain their performance benefits).
>
> -GIT_TEST_REQUIRE_PREREQ=<list> allows specifying a space speparated list of
> +GIT_TEST_REQUIRE_PREREQ=<list> allows specifying a space separated list of

Good find!

I'm curious, how did you find it? If it was a spell checker, did it also
find the "dotsh" typo in the same file (it should be "dots", I think)?

Ciao,
Dscho

>  prereqs that are required to succeed. If a prereq in this list is triggered by
>  a test and then fails then the whole test run will abort. This can help to make
>  sure the expected tests are executed and not silently skipped when their
>
> base-commit: dcc0cd074f0c639a0df20461a301af6d45bd582e
> --
> gitgitgadget
>

^ permalink raw reply

* Re: [PATCH v9 2/4] dt-bindings: media: document SK Hynix Hi-846 MIPI CSI-2 8M pixel sensor
From: Rob Herring @ 2022-01-05 16:23 UTC (permalink / raw)
  To: Martin Kepplinger, Geert Uytterhoeven
  Cc: Pavel Machek, Laurent Pinchart, Mauro Carvalho Chehab,
	Sakari Ailus, devicetree, Purism Kernel Team, Krzysztof Kozlowski,
	linux-kernel@vger.kernel.org, Linux Media Mailing List,
	Paul Kocialkowski, phone-devel, Shawn Tu
In-Reply-To: <CAL_JsqJQAutUp9cB2LaoOQQX7mToCc5MkGm59oOmh65yZG0xZQ@mail.gmail.com>

On Fri, Dec 3, 2021 at 10:19 AM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Sep 6, 2021 at 5:29 AM Martin Kepplinger
> <martin.kepplinger@puri.sm> wrote:
> >
> > Document the bindings used for the SK Hynix Hi-846 CMOS camera driver.
> >
> > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > ---
> >  .../bindings/media/i2c/hynix,hi846.yaml       | 120 ++++++++++++++++++
> >  1 file changed, 120 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > new file mode 100644
> > index 000000000000..85a8877c2f38
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > @@ -0,0 +1,120 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > +
> > +maintainers:
> > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > +
> > +description: |-
> > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > +  interface and CCI (I2C compatible) control bus. The output format
> > +  is raw Bayer.
> > +
> > +properties:
> > +  compatible:
> > +    const: hynix,hi846
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    items:
> > +      - description: Reference to the mclk clock.
> > +
> > +  assigned-clocks:
> > +    maxItems: 1
> > +
> > +  assigned-clock-rates:
> > +    maxItems: 1
> > +
> > +  reset-gpios:
> > +    description: Reference to the GPIO connected to the RESETB pin. Active low.
> > +    maxItems: 1
> > +
> > +  shutdown-gpios:
> > +    description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
> > +    maxItems: 1
> > +
> > +  vddio-supply:
> > +    description: Definition of the regulator used for the VDDIO power supply.
> > +
> > +  vdda-supply:
> > +    description: Definition of the regulator used for the VDDA power supply.
> > +
> > +  vddd-supply:
> > +    description: Definition of the regulator used for the VDDD power supply.
> > +
> > +  port:
> > +    $ref: /schemas/graph.yaml#/properties/port
>
> This needs to be:
>
> $ref: /schemas/graph.yaml#/$defs/port-base
>
> to fix the warning reported. You have to use the 'main' branch of
> dtschema which has unevaluatedProperties support. I'll be making a
> release soonish.

This is still failing, can you please fix it.

Rob

^ permalink raw reply

* [PATCH] ASoC: ak4375: Fix unused function error
From: Takashi Iwai @ 2022-01-05 16:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Vincent Knecht

A randconfig caught a compile warning that is now treated as a fatal
error:
  sound/soc/codecs/ak4375.c:415:13: error: ‘ak4375_power_off’ defined but not used [-Werror=unused-function]

where ak4375_power_off() is used only from the PM handler.

As both suspend and resumes are already marked with __maybe_unused,
let's rip off the superfluous ifdef CONFIG_PM, so that the error above
can be avoided.

Fixes: 53778b8292b5 ("ASoC: Add AK4375 support")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/soc/codecs/ak4375.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/sound/soc/codecs/ak4375.c b/sound/soc/codecs/ak4375.c
index 22cda0699341..9a7b662016b9 100644
--- a/sound/soc/codecs/ak4375.c
+++ b/sound/soc/codecs/ak4375.c
@@ -438,7 +438,6 @@ static int ak4375_power_on(struct ak4375_priv *ak4375)
 	return 0;
 }
 
-#ifdef CONFIG_PM
 static int __maybe_unused ak4375_runtime_suspend(struct device *dev)
 {
 	struct ak4375_priv *ak4375 = dev_get_drvdata(dev);
@@ -463,7 +462,6 @@ static int __maybe_unused ak4375_runtime_resume(struct device *dev)
 
 	return regcache_sync(ak4375->regmap);
 }
-#endif /* CONFIG_PM */
 
 static const struct snd_soc_component_driver soc_codec_dev_ak4375 = {
 	.controls		= ak4375_snd_controls,
-- 
2.31.1


^ permalink raw reply related

* Re: [PATCH] hw/arm/virt: KVM: Enable PAuth when supported by the host
From: Andrew Jones @ 2022-01-05 16:25 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: qemu-devel, kvmarm, kvm, kernel-team, Eric Auger,
	Richard Henderson, Peter Maydell
In-Reply-To: <878rvwzocq.wl-maz@kernel.org>

On Mon, Jan 03, 2022 at 06:05:41PM +0000, Marc Zyngier wrote:
> Andrew Jones <drjones@redhat.com> wrote:
> > 
> > Thanks for considering a documentation update. In this case, though, I
> > think we should delete the "TCG VCPU Features" pauth paragraph, rather
> > than add a new "KVM VCPU Features" pauth paragraph. We don't need to
> > document each CPU feature. We just document complex ones, like sve*,
> > KVM specific ones (kvm-*), and TCG specific ones (now only pauth-impdef).
> 
> Sure, works for me. Do we need to keep a trace of the available
> options?

For arm we need to extend target/arm/helper.c:arm_cpu_list() to output
the possible flags like x86 does. On x86 doing this

  qemu-system-x86_64 -cpu help

not only gives us a list of cpu types, but also a list of flags we can
provide to the cpus (although not all flags will work on all cpus...)
On arm doing this

  qemu-system-aarch64 -cpu help

only gives us a list of cpu types.


> I'm not sure how a user is supposed to find out about those
> (I always end-up grepping through the code base, and something tells
> me I'm doing it wrong...). The QMP stuff flies way over my head.
>

Indeed, currently grepping is less awkward than probing with QMP.
With an extension to target/arm/helper.c:arm_cpu_list() we can
avoid grepping too. I've just added this to my TODO [again]. It
was there once already, but fell off the bottom...

Thanks,
drew


^ permalink raw reply

* Re: [PATCH] hw/arm/virt: KVM: Enable PAuth when supported by the host
From: Andrew Jones @ 2022-01-05 16:25 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: kvm, Richard Henderson, qemu-devel, kernel-team, kvmarm
In-Reply-To: <878rvwzocq.wl-maz@kernel.org>

On Mon, Jan 03, 2022 at 06:05:41PM +0000, Marc Zyngier wrote:
> Andrew Jones <drjones@redhat.com> wrote:
> > 
> > Thanks for considering a documentation update. In this case, though, I
> > think we should delete the "TCG VCPU Features" pauth paragraph, rather
> > than add a new "KVM VCPU Features" pauth paragraph. We don't need to
> > document each CPU feature. We just document complex ones, like sve*,
> > KVM specific ones (kvm-*), and TCG specific ones (now only pauth-impdef).
> 
> Sure, works for me. Do we need to keep a trace of the available
> options?

For arm we need to extend target/arm/helper.c:arm_cpu_list() to output
the possible flags like x86 does. On x86 doing this

  qemu-system-x86_64 -cpu help

not only gives us a list of cpu types, but also a list of flags we can
provide to the cpus (although not all flags will work on all cpus...)
On arm doing this

  qemu-system-aarch64 -cpu help

only gives us a list of cpu types.


> I'm not sure how a user is supposed to find out about those
> (I always end-up grepping through the code base, and something tells
> me I'm doing it wrong...). The QMP stuff flies way over my head.
>

Indeed, currently grepping is less awkward than probing with QMP.
With an extension to target/arm/helper.c:arm_cpu_list() we can
avoid grepping too. I've just added this to my TODO [again]. It
was there once already, but fell off the bottom...

Thanks,
drew

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply

* Re: [PATCH V2] PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's
From: Lorenzo Pieralisi @ 2022-01-05 16:25 UTC (permalink / raw)
  To: helgaas, francisco.munoz.ruiz
  Cc: Lorenzo Pieralisi, linux-pci, dan.j.williams, nirmal.patel,
	Karthik L Gopalakrishnan, jonathan.derrick
In-Reply-To: <20211217231211.46018-1-francisco.munoz.ruiz@linux.intel.com>

On Fri, 17 Dec 2021 15:12:11 -0800, francisco.munoz.ruiz@linux.intel.com wrote:
> From: Karthik L Gopalakrishnan <karthik.l.gopalakrishnan@intel.com>
> 
> Add support for this VMD device which supports the bus restriction mode.
> The feature that turns off vector 0 for MSI-X remapping is also enabled.
> 
> 

Applied to pci/vmd, thanks!

[1/1] PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's
      https://git.kernel.org/lpieralisi/pci/c/922bfd001d

Thanks,
Lorenzo

^ permalink raw reply

* Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change() should honor present page order
From: Tamas K Lengyel @ 2022-01-05 16:25 UTC (permalink / raw)
  To: Jan Beulich
  Cc: xen-devel@lists.xenproject.org, Andrew Cooper, Wei Liu,
	Roger Pau Monné, George Dunlap, Alexandru Isaila,
	Petre Pircalabu
In-Reply-To: <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com>

On Wed, Jan 5, 2022 at 3:59 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 04.01.2022 18:48, Tamas K Lengyel wrote:
> >> I may be entirely wrong and hence that part of the change may also be
> >> wrong, but I'm having trouble seeing why the original
> >> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
> >> goal there to pre-fill entries that were previously invalid, instead of
> >> undoing prior intentional divergence from the host P2M? (I have
> >> intentionally not reflected this aspect in the description yet; I can't
> >> really write a description of this without understanding what's going on
> >> in case the original code was correct.)
> >
> > This function only gets called from p2m-ept when the hostp2m gets an
> > update. In that case this check goes through all altp2m's to see if
> > any of them has an entry for what just got changed in the host, and
> > overwrites the altp2m with that from the host. If there is no entry in
> > the altp2m it doesn't pre-populate. That should only happen if the
> > altp2m actually needs it and runs into a pagefault. So it is correct
> > as-is, albeit being a subtle (and undocumented) behavior of the
> > hostp2m and its effect on the altp2m's. But that's why we never
> > actually make any changes on the hostp2m, we always create an altp2m
> > and apply changes (mem_access/remapping) there.
>
> Thanks for the explanation. Effectively this means that the call to
> get_gfn_type_access() can simply be get_gfn_query(). For the patch
> this means that I shouldn't check its return value and also continue
> to pass the new order rather than the minimum of the two (as was the
> case before), as all we're after is the locking of the GFN. It would
> be nice if you could confirm this before I submit a non-RFC v3.

I'm a little lost here.

>
> What I still don't understand is why the function blindly replaces
> any possible entry in the altp2m, i.e. any possible override
> mapping, not even taking into account the original p2m_access_t.

I think the idea was that any changes to the hostp2m will just get
reflected in the altp2m's as a short-cut. If you have many custom
settings in different altp2ms, simply setting the entry in the hostp2m
will ensure all altp2m's get synced to that same setting instead of
having to do a hypercall for each altp2m. I don't see much use of it
otherwise and if we wanted to switch it to leave the altp2m entries
as-is I wouldn't object.

Tamas


^ permalink raw reply

* Re: [PATCH] hw/arm/virt: KVM: Enable PAuth when supported by the host
From: Andrew Jones @ 2022-01-05 16:25 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Peter Maydell, kvm, Richard Henderson, qemu-devel, Eric Auger,
	kernel-team, kvmarm
In-Reply-To: <878rvwzocq.wl-maz@kernel.org>

On Mon, Jan 03, 2022 at 06:05:41PM +0000, Marc Zyngier wrote:
> Andrew Jones <drjones@redhat.com> wrote:
> > 
> > Thanks for considering a documentation update. In this case, though, I
> > think we should delete the "TCG VCPU Features" pauth paragraph, rather
> > than add a new "KVM VCPU Features" pauth paragraph. We don't need to
> > document each CPU feature. We just document complex ones, like sve*,
> > KVM specific ones (kvm-*), and TCG specific ones (now only pauth-impdef).
> 
> Sure, works for me. Do we need to keep a trace of the available
> options?

For arm we need to extend target/arm/helper.c:arm_cpu_list() to output
the possible flags like x86 does. On x86 doing this

  qemu-system-x86_64 -cpu help

not only gives us a list of cpu types, but also a list of flags we can
provide to the cpus (although not all flags will work on all cpus...)
On arm doing this

  qemu-system-aarch64 -cpu help

only gives us a list of cpu types.


> I'm not sure how a user is supposed to find out about those
> (I always end-up grepping through the code base, and something tells
> me I'm doing it wrong...). The QMP stuff flies way over my head.
>

Indeed, currently grepping is less awkward than probing with QMP.
With an extension to target/arm/helper.c:arm_cpu_list() we can
avoid grepping too. I've just added this to my TODO [again]. It
was there once already, but fell off the bottom...

Thanks,
drew



^ permalink raw reply

* Re: [PATCH] drm/ttm: Don't inherit GEM object VMAs in child process
From: Felix Kuehling @ 2022-01-05 16:27 UTC (permalink / raw)
  To: Christian König, Christian König, Daniel Vetter,
	Bhardwaj, Rajneesh, Adrian Reber
  Cc: daniel.vetter, dri-devel, David Yat Sin, amd-gfx,
	alexander.deucher, airlied
In-Reply-To: <60760210-3b3d-952c-2637-4d70fab1a857@amd.com>

Am 2022-01-05 um 11:16 a.m. schrieb Felix Kuehling:
>> I was already wondering which mmaps through the KFD node we have left
>> which cause problems here.
> We still use the KFD FD for mapping doorbells and HDP flushing. These
> are both SG BOs, so they cannot be CPU-mapped through render nodes. The
> KFD FD is also used for mapping signal pages and CWSR trap handlers on
> old APUs.
>
> Those VMAs aren't causing the problem. They still map successfully on
> restore.
>
>
Small correction: KFD already sets the VM_DONTCOPY flag for all KFD FD
mappings.

The patch under discussion here does the same for DRM FD mappings (at
least for KFD BOs).

Regards,
  Felix


^ permalink raw reply

* Re: qemu-xen is unavailable
From: Anthony PERARD @ 2022-01-05 16:27 UTC (permalink / raw)
  To: Christian Kujau; +Cc: xen-users, xen-devel, George Dunlap
In-Reply-To: <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com>

CC xen-devel

On Tue, Jan 04, 2022 at 11:52:21AM +0000, George Dunlap wrote:
> > On Sun, 19 Dec 2021, Christian Kujau wrote:
> > > # xl create -f /etc/xen/debian.cfg
> > > Parsing config from /etc/xen/debian.cfg
> > > libxl: info: libxl_create.c:121:libxl__domain_build_info_setdefault:
> > qemu-xen is unavailable, using qemu-xen-traditional instead: No such file
> > or directory

Looking at the original email, the domain config file has type="pvh", so
I don't think qemu is actually needed. And the domain is starting fine,
so this message isn't really needed and would be a bug I guess.

I think it comes from libxl trying to figure out which QEMU to use even
if it isn't going to be needed. And since there's no qemu to be found,
the message is printed, even when qemu isn't needed.

I guess you have this message because you didn't install a qemu package
(or qemu-xen), but you don't need the package as you are only starting a
PVH guest.

The bug here is that libxl shouldn't print this message for PVH guest
because it's confusing.

Thanks,

-- 
Anthony PERARD


^ permalink raw reply

* Re: [Intel-gfx] [PATCH] drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline
From: Matthew Brost @ 2022-01-05 16:24 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx, dri-devel
In-Reply-To: <3ae7e493-4b77-9e87-ca6f-34f85cab4ecb@linux.intel.com>

On Wed, Jan 05, 2022 at 09:35:44AM +0000, Tvrtko Ursulin wrote:
> 
> On 04/01/2022 23:30, Matthew Brost wrote:
> > Don't use the interruptable version of the timeline mutex lock in the
> 
> interruptible
> 
> > error path of eb_pin_timeline as the cleanup must always happen.
> > 
> > v2:
> >   (John Harrison)
> >    - Don't check for interrupt during mutex lock
> > 
> > Fixes: 544460c33821 ("drm/i915: Multi-BB execbuf")
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> >   drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> > index e9541244027a..e96e133cbb1f 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> > @@ -2516,9 +2516,9 @@ static int eb_pin_timeline(struct i915_execbuffer *eb, struct intel_context *ce,
> >   				      timeout) < 0) {
> >   			i915_request_put(rq);
> > -			tl = intel_context_timeline_lock(ce);
> > +			mutex_lock(&ce->timeline->mutex);
> 
> On the other hand it is more user friendly to handle signals (which maybe
> does not matter in this case, not sure any longer how long hold time it can
> have) but there is also a question of consistency within the very function
> you are changing.
> 
> Apart from consistency, what about the parent-child magic
> intel_context_timeline_lock does and you wouldn't have here?
> 
> And what about the very existence of intel_context_timeline_lock as a
> component boundary separation API, if it is used inconsistently throughout
> i915_gem_execbuffer.c?

intel_context_timeline_lock does 2 things:

1. Handles lockdep nesting of timeline locks for parent-child contexts
ensuring locks are acquired from parent to last child, then released
last child to parent
2. Allows the mutex lock to be interrupted

This helper should be used in setup steps where a user can signal abort
(context pinning time + request creation time), by 'should be' I mean
this was how it was done before I extended the execbuf IOCTL for
multiple BBs. Slightly confusing but this is what was in place so I
stuck with it.

This code here is an error path that only hold at most 1 timeline lock
(no nesting required) and is a path that must be executed as it is a
cleanup step (not allowed to be interrupted by user, intel_context_exit
must be called or we have dangling engine PM refs).

Make sense? I probably should update the comment message to explain this
a bit better as it did take me a bit to understand how this locking
worked.

Matt

> 
> Regards,
> 
> Tvrtko
> 
> >   			intel_context_exit(ce);
> > -			intel_context_timeline_unlock(tl);
> > +			mutex_unlock(&ce->timeline->mutex);
> >   			if (nonblock)
> >   				return -EWOULDBLOCK;
> > 

^ permalink raw reply

* Re: [PATCH net] ppp: ensure minimum packet size in ppp_write()
From: Guillaume Nault @ 2022-01-05 16:29 UTC (permalink / raw)
  To: James Carlson
  Cc: Eric Dumazet, David S . Miller, Jakub Kicinski, netdev,
	Eric Dumazet, Paul Mackerras, linux-ppp, syzbot
In-Reply-To: <dbde2a45-a7dd-0e8a-d04c-233f69631885@workingcode.com>

On Wed, Jan 05, 2022 at 10:30:09AM -0500, James Carlson wrote:
> On 1/5/22 08:19, Guillaume Nault wrote:
> > On Wed, Jan 05, 2022 at 03:48:42AM -0800, Eric Dumazet wrote:
> >> From: Eric Dumazet <edumazet@google.com>
> >>
> >> It seems pretty clear ppp layer assumed user space
> >> would always be kind to provide enough data
> >> in their write() to a ppp device.
> >>
> >> This patch makes sure user provides at least
> >> 2 bytes.
> >>
> >> It adds PPP_PROTO_LEN macro that could replace
> >> in net-next many occurrences of hard-coded 2 value.
> > 
> > The PPP header can be compressed to only 1 byte, but since 2 bytes is
> > assumed in several parts of the code, rejecting such packets in
> > ppp_xmit() is probably the best we can do.
> 
> The only ones that can be compressed are those less than 0x0100, which
> are (intentionally) all network layer protocols.  We should be getting
> only control protocol messages though the user-space interface, not
> network layer, so I'd say it's not just the best we can do, but indeed
> the right thing to do by design.

Well, I know of at least one implementation that used to transmit data
by writing on ppp unit file descriptors. That was a hack to work around
some other problems. Not a beautiful one, but it worked.


^ permalink raw reply

* Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer address for Dom0
From: Boris Ostrovsky @ 2022-01-05 16:30 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel@lists.xenproject.org, lkml, Juergen Gross
In-Reply-To: <d0c84e65-642c-8990-49d6-c09d291922ea@suse.com>


On 1/5/22 2:59 AM, Jan Beulich wrote:
>
> Anyway - I'd appreciate if the patch at hand could be taken
> independent of possible further adjustments here, as it addresses
> an issue observed in the field.


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>



^ permalink raw reply

* Re: [PATCH 0/8] DEV_PM_OPS macros rework
From: Paul Cercueil @ 2022-01-05 16:32 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Rafael J . Wysocki, Ulf Hansson, Jonathan Cameron,
	Lars-Peter Clausen, Linus Walleij, Arnd Bergmann, Len Brown,
	Pavel Machek, list, linux-iio, linux-kernel, linux-mips,
	linux-mmc, linux-pm
In-Reply-To: <20220105101737.00000957@Huawei.com>



Le mer., janv. 5 2022 at 10:17:37 +0000, Jonathan Cameron 
<Jonathan.Cameron@Huawei.com> a écrit :
> On Tue, 4 Jan 2022 21:42:06 +0000
> Paul Cercueil <paul@crapouillou.net> wrote:
> 
>>  Hi,
>> 
>>  This set of commits rework a bit the *_DEV_PM_OPS() macros that were
>>  introduced recently.
>> 
>>  - Remove the DEFINE_UNIVERSAL_DEV_PM_OPS() macro, since I highly 
>> doubt
>>    anything is going to use it. The macro it replaces
>>    (UNIVERSAL_DEV_PM_OPS) seems to only be used incorrectly in code 
>> that
>>    hasn't been updated in ages.
>> 
>>  - Remove the static qualifier in DEFINE_SIMPLE_DEV_PM_OPS, so that 
>> the
>>    macro is more in line with what's done elsewhere in the kernel.
>> 
>>  - Add a DEFINE_RUNTIME_DEV_PM_OPS() macro, for use with drivers 
>> that use
>>    runtime PM, and use 
>> runtime_pm_force_suspend/runtime_pm_force_resume
>>    as their system sleep callbacks.
>> 
>>  - Add EXPORT_*_DEV_PM_OPS macros, which can be used for when the
>>    underlying dev_pm_ops is to be exported. With CONFIG_PM set, the
>>    symbol is exported as you would expect. With CONFIG_PM disabled, 
>> the
>>    dev_pm_ops is garbage-collected along with the suspend/resume
>>    callbacks.
>> 
>>  - Update the two places which used DEFINE_SIMPLE_DEV_PM_OPS, to add 
>> back
>>    the "static" qualifier that was stripped from the macro.
>> 
>>  - Update one driver to use EXPORT_RUNTIME_DEV_PM_OPS(), just to 
>> showcase
>>    how to use this macro in the case where a dev_pm_ops is to be
>>    exported.
>>    Note that the driver itself is GPL, and the symbol is only used 
>> within
>>    a GPL driver, so I would assume the symbol would be exported as 
>> GPL.
>>    But it was not the case in the original code, so I did not change 
>> the
>>    behaviour.
>> 
>>  Feedback welcome.
> 
> Comments on individual patches (in particular bad pick for that final 
> example ;)
> 
> Given how late we are in the cycle, I'd argue we 'need' patches 2 (+ 
> 5,6 which
> should probably be all one patch to avoid introducing then fixing a 
> warning in
> different patches).  The others could wait for the following cycle if 
> needed.

Ok, should I V2 with patches 2/5/6 merged together?

-Paul

> It would slow down a few patches I have queued up behind this, but 
> most of them
> would be unaffected so it wouldn't annoy me too much. Can't speak for 
> others
> however!
> 
> Jonathan
> 
>> 
>>  Cheers,
>>  -Paul
>> 
>> 
>>  Paul Cercueil (8):
>>    PM: core: Remove DEFINE_UNIVERSAL_DEV_PM_OPS() macro
>>    PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS 
>> macro
>>    PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros
>>    PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro
>>    PM: runtime: Add EXPORT[_GPL]_RUNTIME_DEV_PM_OPS macros
>>    mmc: mxc: Make dev_pm_ops struct static
>>    mmc: jz4740: Make dev_pm_ops struct static
>>    iio: gyro: mpu3050: Use new PM macros
>> 
>>   drivers/iio/gyro/mpu3050-core.c | 13 +++-----
>>   drivers/iio/gyro/mpu3050-i2c.c  |  2 +-
>>   drivers/mmc/host/jz4740_mmc.c   |  4 +--
>>   drivers/mmc/host/mxcmmc.c       |  2 +-
>>   include/linux/pm.h              | 53 
>> +++++++++++++++++++++++----------
>>   include/linux/pm_runtime.h      | 21 +++++++++++++
>>   6 files changed, 67 insertions(+), 28 deletions(-)
>> 
> 



^ permalink raw reply

* Re: (subset) [PATCH v6 00/10] Add support for CS35L41 in HDA systems
From: Takashi Iwai @ 2022-01-05 16:32 UTC (permalink / raw)
  To: Lucas Tanure
  Cc: Mark Brown, Len Brown, Mark Gross, Takashi Iwai, Liam Girdwood,
	Rafael J . Wysocki, Jaroslav Kysela, Hans de Goede, patches,
	alsa-devel, linux-kernel, linux-acpi, platform-driver-x86
In-Reply-To: <s5h35m3lkd4.wl-tiwai@suse.de>

On Tue, 04 Jan 2022 14:07:51 +0100,
Takashi Iwai wrote:
> 
> On Fri, 31 Dec 2021 15:39:54 +0100,
> Mark Brown wrote:
> > 
> > On Fri, 17 Dec 2021 11:56:58 +0000, Lucas Tanure wrote:
> > > Add support for laptops that have CS35L41 connected to an HDA
> > > codec by I2S and direct I2C connection to the CPU.
> > > 
> > > Laptops that use CS35L41 and are SPI will be added in the future,
> > > after the support for it is resolved at i2c-multi-instantiate driver.
> > > i2c-multi-instantiate thread: https://lkml.org/lkml/2021/12/10/557
> > > 
> > > [...]
> > 
> > Applied to
> > 
> >    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> > 
> > Thanks!
> > 
> > [01/10] ASoC: cs35l41: Convert tables to shared source code
> >         commit: a87d42227cf5614fe0040ddd1fe642c54298b42c
> > [02/10] ASoC: cs35l41: Move cs35l41_otp_unpack to shared code
> >         commit: fe120d4cb6f6cd03007239e7c578b8703fe6d336
> > [03/10] ASoC: cs35l41: Move power initializations to reg_sequence
> >         commit: 062ce0593315e22aac527389dd6dd4328c49f0fb
> > [04/10] ASoC: cs35l41: Create shared function for errata patches
> >         commit: 8b2278604b6de27329ec7ed82ca696c4751111b6
> > [05/10] ASoC: cs35l41: Create shared function for setting channels
> >         commit: 3bc3e3da657f17c14df8ae8fab58183407bd7521
> > [06/10] ASoC: cs35l41: Create shared function for boost configuration
> >         commit: e8e4fcc047c6e0c5411faeb8cc29aed2e5036a00
> 
> Mark, could you send a PR including those for 5.17?
> The rest HD-audio part of the patch set depends on this new ASoC codec
> stuff (at least Kconfig), so I can't apply the patches before merging
> those.  The ACPI patch might be still not applicable through my tree,
> but it can be taken independently.

Now I merged Mark's asoc tree, and applied the patches 7, 9 and 10.
  ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems
  ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop
  ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops

The patches 9 and 10 have been slightly modified to adjust the quirk
entry positions.

The only missing patch is the ACPI patch.  I'm open in which way to
take; it's fine to be applied via other trees.

Let me know your favorite.


thanks,

Takashi

^ permalink raw reply

* Re: (subset) [PATCH v6 00/10] Add support for CS35L41 in HDA systems
From: Takashi Iwai @ 2022-01-05 16:32 UTC (permalink / raw)
  To: Lucas Tanure
  Cc: platform-driver-x86, alsa-devel, linux-acpi, Rafael J . Wysocki,
	patches, Liam Girdwood, Takashi Iwai, Mark Gross, Hans de Goede,
	Mark Brown, linux-kernel, Len Brown
In-Reply-To: <s5h35m3lkd4.wl-tiwai@suse.de>

On Tue, 04 Jan 2022 14:07:51 +0100,
Takashi Iwai wrote:
> 
> On Fri, 31 Dec 2021 15:39:54 +0100,
> Mark Brown wrote:
> > 
> > On Fri, 17 Dec 2021 11:56:58 +0000, Lucas Tanure wrote:
> > > Add support for laptops that have CS35L41 connected to an HDA
> > > codec by I2S and direct I2C connection to the CPU.
> > > 
> > > Laptops that use CS35L41 and are SPI will be added in the future,
> > > after the support for it is resolved at i2c-multi-instantiate driver.
> > > i2c-multi-instantiate thread: https://lkml.org/lkml/2021/12/10/557
> > > 
> > > [...]
> > 
> > Applied to
> > 
> >    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> > 
> > Thanks!
> > 
> > [01/10] ASoC: cs35l41: Convert tables to shared source code
> >         commit: a87d42227cf5614fe0040ddd1fe642c54298b42c
> > [02/10] ASoC: cs35l41: Move cs35l41_otp_unpack to shared code
> >         commit: fe120d4cb6f6cd03007239e7c578b8703fe6d336
> > [03/10] ASoC: cs35l41: Move power initializations to reg_sequence
> >         commit: 062ce0593315e22aac527389dd6dd4328c49f0fb
> > [04/10] ASoC: cs35l41: Create shared function for errata patches
> >         commit: 8b2278604b6de27329ec7ed82ca696c4751111b6
> > [05/10] ASoC: cs35l41: Create shared function for setting channels
> >         commit: 3bc3e3da657f17c14df8ae8fab58183407bd7521
> > [06/10] ASoC: cs35l41: Create shared function for boost configuration
> >         commit: e8e4fcc047c6e0c5411faeb8cc29aed2e5036a00
> 
> Mark, could you send a PR including those for 5.17?
> The rest HD-audio part of the patch set depends on this new ASoC codec
> stuff (at least Kconfig), so I can't apply the patches before merging
> those.  The ACPI patch might be still not applicable through my tree,
> but it can be taken independently.

Now I merged Mark's asoc tree, and applied the patches 7, 9 and 10.
  ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems
  ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop
  ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops

The patches 9 and 10 have been slightly modified to adjust the quirk
entry positions.

The only missing patch is the ACPI patch.  I'm open in which way to
take; it's fine to be applied via other trees.

Let me know your favorite.


thanks,

Takashi

^ permalink raw reply

* [RFC PATCH 1/2] merge-ort: add new merge-tree-ort command
From: Christian Couder @ 2022-01-05 16:33 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Christian Couder,
	Ævar Arnfjörð Bjarmason, Taylor Blau,
	Johannes Schindelin, Elijah Newren
In-Reply-To: <20220105163324.73369-1-chriscool@tuxfamily.org>

This new command is similar as merge-tree, but uses
merge-ort code and features, especially
merge_incore_nonrecursive(), instead of those from
resursive merge, to perform the merge.

The output from this new command is very different from
merge-tree's custom output, as we are only using code and
features from diff.{h,c}, especially diff_tree_oid(). This
should make it easy to customize and standardize the output
using regular diff options in the future.

This command will be extended to support new features
with the long-term goal of enabling merges and rebases
without a worktree.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 .gitignore               |  1 +
 Makefile                 |  1 +
 builtin.h                |  1 +
 builtin/merge-tree-ort.c | 93 ++++++++++++++++++++++++++++++++++++++++
 git.c                    |  1 +
 5 files changed, 97 insertions(+)
 create mode 100644 builtin/merge-tree-ort.c

diff --git a/.gitignore b/.gitignore
index 054249b20a..2dfcb1a589 100644
--- a/.gitignore
+++ b/.gitignore
@@ -98,6 +98,7 @@
 /git-merge-index
 /git-merge-file
 /git-merge-tree
+/git-merge-tree-ort
 /git-merge-octopus
 /git-merge-one-file
 /git-merge-ours
diff --git a/Makefile b/Makefile
index 75ed168adb..915e500b06 100644
--- a/Makefile
+++ b/Makefile
@@ -1124,6 +1124,7 @@ BUILTIN_OBJS += builtin/merge-index.o
 BUILTIN_OBJS += builtin/merge-ours.o
 BUILTIN_OBJS += builtin/merge-recursive.o
 BUILTIN_OBJS += builtin/merge-tree.o
+BUILTIN_OBJS += builtin/merge-tree-ort.o
 BUILTIN_OBJS += builtin/merge.o
 BUILTIN_OBJS += builtin/mktag.o
 BUILTIN_OBJS += builtin/mktree.o
diff --git a/builtin.h b/builtin.h
index 8a58743ed6..c68f46b118 100644
--- a/builtin.h
+++ b/builtin.h
@@ -182,6 +182,7 @@ int cmd_merge_ours(int argc, const char **argv, const char *prefix);
 int cmd_merge_file(int argc, const char **argv, const char *prefix);
 int cmd_merge_recursive(int argc, const char **argv, const char *prefix);
 int cmd_merge_tree(int argc, const char **argv, const char *prefix);
+int cmd_merge_tree_ort(int argc, const char **argv, const char *prefix);
 int cmd_mktag(int argc, const char **argv, const char *prefix);
 int cmd_mktree(int argc, const char **argv, const char *prefix);
 int cmd_multi_pack_index(int argc, const char **argv, const char *prefix);
diff --git a/builtin/merge-tree-ort.c b/builtin/merge-tree-ort.c
new file mode 100644
index 0000000000..1c8ecd16ec
--- /dev/null
+++ b/builtin/merge-tree-ort.c
@@ -0,0 +1,93 @@
+#include "builtin.h"
+#include "merge-ort.h"
+#include "diff.h"
+
+static const char merge_tree_ort_usage[] = "git merge-tree-ort <base-tree> <branch1> <branch2>";
+
+static void show_result(struct tree *base_tree,
+			struct tree *head_tree,
+			struct tree *merge_tree,
+			struct merge_result *result)
+{
+	const struct object_id *base_oid = &(base_tree->object.oid);
+	const struct object_id *head_oid = &(head_tree->object.oid);
+	const struct object_id *merge_oid = &(merge_tree->object.oid);
+	const struct object_id *result_oid = &(result->tree->object.oid);
+	struct diff_options opts;
+
+	repo_diff_setup(the_repository, &opts);
+	opts.stat_width = -1; /* use full terminal width */
+	opts.output_format |= DIFF_FORMAT_RAW | DIFF_FORMAT_PATCH;
+	opts.detect_rename = DIFF_DETECT_RENAME;
+	diff_setup_done(&opts);
+
+	printf("result tree: %s\n", oid_to_hex(result_oid));
+	printf("clean: %d\n", result->clean);
+
+	printf("diff with branch1:\n");
+	diff_tree_oid(head_oid, result_oid, "", &opts);
+	diffcore_std(&opts);
+	diff_flush(&opts);
+
+	printf("diff with branch2:\n");
+	diff_tree_oid(merge_oid, result_oid, "", &opts);
+	diffcore_std(&opts);
+	diff_flush(&opts);
+
+	printf("diff with base:\n");
+	diff_tree_oid(base_oid, result_oid, "", &opts);
+	diffcore_std(&opts);
+	diff_flush(&opts);
+}
+
+static struct commit *get_commit_by_name_or_die(const char *name)
+{
+	struct commit *c = lookup_commit_reference_by_name(name);
+	if (!c)
+		die(_("not a valid commit name '%s'"), name);
+	return c;
+}
+
+static void merge_trees_ort(const char *base_name,
+			    const char *branch1,
+			    const char *branch2)
+{
+	struct merge_result result;
+	struct merge_options merge_opt;
+
+	struct commit *base = get_commit_by_name_or_die(base_name);
+	struct commit *head = get_commit_by_name_or_die(branch1);
+	struct commit *merge = get_commit_by_name_or_die(branch2);
+
+	struct tree *base_tree = get_commit_tree(base);
+	struct tree *head_tree = get_commit_tree(head);
+	struct tree *merge_tree = get_commit_tree(merge);
+
+	memset(&result, 0, sizeof(result));
+	init_merge_options(&merge_opt, the_repository);
+
+	merge_opt.show_rename_progress = 1;
+	merge_opt.branch1 = branch1;
+	merge_opt.branch2 = branch2;
+	merge_opt.ancestor = base_name;
+
+	result.tree = head_tree;
+
+	merge_incore_nonrecursive(&merge_opt,
+				  base_tree,
+				  result.tree,
+				  merge_tree,
+				  &result);
+
+	show_result(base_tree, head_tree, merge_tree, &result);
+}
+
+int cmd_merge_tree_ort(int argc, const char **argv, const char *prefix)
+{
+	if (argc != 4)
+		usage(merge_tree_ort_usage);
+
+	merge_trees_ort(argv[1], argv[2], argv[3]);
+
+	return 0;
+}
diff --git a/git.c b/git.c
index 7edafd8ecf..90b8a4984c 100644
--- a/git.c
+++ b/git.c
@@ -562,6 +562,7 @@ static struct cmd_struct commands[] = {
 	{ "merge-recursive-theirs", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },
 	{ "merge-subtree", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },
 	{ "merge-tree", cmd_merge_tree, RUN_SETUP | NO_PARSEOPT },
+	{ "merge-tree-ort", cmd_merge_tree_ort, RUN_SETUP | NO_PARSEOPT },
 	{ "mktag", cmd_mktag, RUN_SETUP | NO_PARSEOPT },
 	{ "mktree", cmd_mktree, RUN_SETUP },
 	{ "multi-pack-index", cmd_multi_pack_index, RUN_SETUP },
-- 
2.34.1.433.g7bc349372a.dirty


^ permalink raw reply related

* [RFC PATCH 0/2] Introduce new merge-tree-ort command
From: Christian Couder @ 2022-01-05 16:33 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Christian Couder,
	Ævar Arnfjörð Bjarmason, Taylor Blau,
	Johannes Schindelin, Elijah Newren

During the 2nd Virtual Git Contributors’ Summit last October, and even
before, the subject of performing server side merges and rebases came
up, as platforms like GitHub and GitLab would like to support many
features and data formats that libgit2 doesn't support, like for
example SHA256 hashes and partial clone.

It's hard for them to get rid of libgit2 though, because Git itself
doesn't have a good way to support server side merges and rebases,
while libgit2 has ways to perform them. Without server side merges and
rebases, those platforms would have to launch some kind of checkout,
which can be very expensive, before any merge or rebase.

The latest discussions on this topic following the 2nd Virtual
Summit[1] ended with some proposals around a `git merge-tree` on
steroids that could be a good solution to this issue.

The current `git merge-tree` command though seems to have a number of
issues, especially:

  - it's too much related to the old merge recursive strategy which is
    not the default anymore since v2.34.0 and is likely to be
    deprecated over time,

  - it seems to output things in its own special format, which is not
    easy to customize, and which needs special code and logic to parse

To move forward on this, this small RFC patch series introduces a new
`git merge-tree-ort` command with the following design:

  - it uses merge-ort's API as is to perform the merge
  
  - it gets back a tree oid and a cleanliness status from merge-ort's
    API and prints them out first

  - it uses diff's API as is to output changed paths and code

  - the diff API, actually diff_tree_oid() is called 3 times: once for
    the diff versus branch1 ("ours"), once for the diff versus branch2
    ("theirs"), and once for the diff versus the base.

Therefore:

  - its code is very simple and very easy to extend and customize, for
    example by passing diff or merge-ort options that the code would
    just pass on to the merge-ort and diff APIs respectively

  - its output can easily be parsed using simple code and existing
    diff parsers

This of course means that merge-tree-ort's output is not backward
compatible with merge-tree's output, but it doesn't seem that there is
much value in keeping the same output anyway. On the contrary
merge-tree's output is likely to hold us back already.

The first patch in the series adds the new command without any test
and documentation.

The second patch in the series adds a few tests that let us see how
the command's output looks like in different very simple cases.

Of course if this approach is considered valuable, I plan to add some
documentation, more tests and very likely a number of options before
submitting the next iteration.

I am not sure that it's worth showing the 3 diffs (versus branch1,
branch2 and base) by default. Maybe by default no diff at all should
be shown and the command should have --branch1 (or --ours), --branch2
(or --theirs) and --base options to ask for such output, but for an
RFC patch I thought it would be better to output the 3 diffs so that
people get a better idea of the approach this patch series is taking.

[1] https://lore.kernel.org/git/nycvar.QRO.7.76.6.2110211147490.56@tvgsbejvaqbjf.bet/


Christian Couder (2):
  merge-ort: add new merge-tree-ort command
  merge-ort: add t/t4310-merge-tree-ort.sh

 .gitignore                |   1 +
 Makefile                  |   1 +
 builtin.h                 |   1 +
 builtin/merge-tree-ort.c  |  93 ++++++++++++++++++++++
 git.c                     |   1 +
 t/t4310-merge-tree-ort.sh | 162 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 259 insertions(+)
 create mode 100644 builtin/merge-tree-ort.c
 create mode 100755 t/t4310-merge-tree-ort.sh

-- 
2.34.1.433.g7bc349372a.dirty


^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.