qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v7 0/7] eBPF RSS support for virtio-net.


From: no-reply
Subject: Re: [PATCH v7 0/7] eBPF RSS support for virtio-net.
Date: Wed, 28 Apr 2021 10:13:03 -0700 (PDT)

Patchew URL: 20210428164733.56547-1-andrew@daynix.com/">https://patchew.org/QEMU/20210428164733.56547-1-andrew@daynix.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210428164733.56547-1-andrew@daynix.com
Subject: [PATCH v7 0/7] eBPF RSS support for virtio-net.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20210426193520.4115528-1-philmd@redhat.com -> 
patchew/20210426193520.4115528-1-philmd@redhat.com
 - [tag update]      patchew/20210428142431.266879-1-david.edmondson@oracle.com 
-> patchew/20210428142431.266879-1-david.edmondson@oracle.com
 - [tag update]      patchew/20210428151804.439460-1-vsementsov@virtuozzo.com 
-> patchew/20210428151804.439460-1-vsementsov@virtuozzo.com
 * [new tag]         patchew/20210428164733.56547-1-andrew@daynix.com -> 
patchew/20210428164733.56547-1-andrew@daynix.com
Switched to a new branch 'test'
842e841 MAINTAINERS: Added eBPF maintainers information.
b931e15 docs: Added eBPF documentation.
f89d2b6 virtio-net: Added eBPF RSS to virtio-net.
15a840f3 ebpf: Added eBPF RSS loader.
44bbaca ebpf: Added eBPF RSS program.
b14810b net: Added SetSteeringEBPF method for NetClientState.
f8ae997 net/tap: Added TUNSETSTEERINGEBPF code.

=== OUTPUT BEGIN ===
1/7 Checking commit f8ae997f71c2 (net/tap: Added TUNSETSTEERINGEBPF code.)
2/7 Checking commit b14810be916e (net: Added SetSteeringEBPF method for 
NetClientState.)
3/7 Checking commit 44bbaca7b895 (ebpf: Added eBPF RSS program.)
Use of uninitialized value $acpi_testexpected in string eq at 
./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#22: 
new file mode 100755

WARNING: line over 80 characters
#211: FILE: tools/ebpf/rss.bpf.c:157:
+ * According to 
https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml

WARNING: line over 80 characters
#214: FILE: tools/ebpf/rss.bpf.c:160:
+ * Need to choose reasonable amount of maximum extensions/options we may check 
to find

WARNING: line over 80 characters
#281: FILE: tools/ebpf/rss.bpf.c:227:
+                        *l4_offset + opt_offset + offsetof(struct 
ipv6_destopt_hao, addr),

total: 0 errors, 4 warnings, 591 lines checked

Patch 3/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/7 Checking commit 15a840f357fd (ebpf: Added eBPF RSS loader.)
Use of uninitialized value $acpi_testexpected in string eq at 
./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#71: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#353: FILE: ebpf/rss.bpf.skeleton.h:4:
+#ifndef __RSS_BPF_SKEL_H__

ERROR: code indent should never use tabs
#360: FILE: ebpf/rss.bpf.skeleton.h:11:
+^Istruct bpf_object_skeleton *skeleton;$

ERROR: code indent should never use tabs
#361: FILE: ebpf/rss.bpf.skeleton.h:12:
+^Istruct bpf_object *obj;$

ERROR: code indent should never use tabs
#362: FILE: ebpf/rss.bpf.skeleton.h:13:
+^Istruct {$

ERROR: code indent should never use tabs
#363: FILE: ebpf/rss.bpf.skeleton.h:14:
+^I^Istruct bpf_map *tap_rss_map_configurations;$

ERROR: code indent should never use tabs
#364: FILE: ebpf/rss.bpf.skeleton.h:15:
+^I^Istruct bpf_map *tap_rss_map_indirection_table;$

ERROR: code indent should never use tabs
#365: FILE: ebpf/rss.bpf.skeleton.h:16:
+^I^Istruct bpf_map *tap_rss_map_toeplitz_key;$

ERROR: code indent should never use tabs
#366: FILE: ebpf/rss.bpf.skeleton.h:17:
+^I} maps;$

ERROR: code indent should never use tabs
#367: FILE: ebpf/rss.bpf.skeleton.h:18:
+^Istruct {$

ERROR: code indent should never use tabs
#368: FILE: ebpf/rss.bpf.skeleton.h:19:
+^I^Istruct bpf_program *tun_rss_steering_prog;$

ERROR: code indent should never use tabs
#369: FILE: ebpf/rss.bpf.skeleton.h:20:
+^I} progs;$

ERROR: code indent should never use tabs
#370: FILE: ebpf/rss.bpf.skeleton.h:21:
+^Istruct {$

ERROR: code indent should never use tabs
#371: FILE: ebpf/rss.bpf.skeleton.h:22:
+^I^Istruct bpf_link *tun_rss_steering_prog;$

ERROR: code indent should never use tabs
#372: FILE: ebpf/rss.bpf.skeleton.h:23:
+^I} links;$

ERROR: code indent should never use tabs
#378: FILE: ebpf/rss.bpf.skeleton.h:29:
+^Iif (!obj)$

ERROR: braces {} are necessary for all arms of this statement
#378: FILE: ebpf/rss.bpf.skeleton.h:29:
+       if (!obj)
[...]

ERROR: code indent should never use tabs
#379: FILE: ebpf/rss.bpf.skeleton.h:30:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#380: FILE: ebpf/rss.bpf.skeleton.h:31:
+^Iif (obj->skeleton)$

ERROR: braces {} are necessary for all arms of this statement
#380: FILE: ebpf/rss.bpf.skeleton.h:31:
+       if (obj->skeleton)
[...]

ERROR: code indent should never use tabs
#381: FILE: ebpf/rss.bpf.skeleton.h:32:
+^I^Ibpf_object__destroy_skeleton(obj->skeleton);$

ERROR: code indent should never use tabs
#382: FILE: ebpf/rss.bpf.skeleton.h:33:
+^Ifree(obj);$

ERROR: code indent should never use tabs
#391: FILE: ebpf/rss.bpf.skeleton.h:42:
+^Istruct rss_bpf *obj;$

ERROR: code indent should never use tabs
#393: FILE: ebpf/rss.bpf.skeleton.h:44:
+^Iobj = (struct rss_bpf *)calloc(1, sizeof(*obj));$

ERROR: code indent should never use tabs
#394: FILE: ebpf/rss.bpf.skeleton.h:45:
+^Iif (!obj)$

ERROR: braces {} are necessary for all arms of this statement
#394: FILE: ebpf/rss.bpf.skeleton.h:45:
+       if (!obj)
[...]

ERROR: code indent should never use tabs
#395: FILE: ebpf/rss.bpf.skeleton.h:46:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#396: FILE: ebpf/rss.bpf.skeleton.h:47:
+^Iif (rss_bpf__create_skeleton(obj))$

ERROR: braces {} are necessary for all arms of this statement
#396: FILE: ebpf/rss.bpf.skeleton.h:47:
+       if (rss_bpf__create_skeleton(obj))
[...]

ERROR: code indent should never use tabs
#397: FILE: ebpf/rss.bpf.skeleton.h:48:
+^I^Igoto err;$

ERROR: code indent should never use tabs
#398: FILE: ebpf/rss.bpf.skeleton.h:49:
+^Iif (bpf_object__open_skeleton(obj->skeleton, opts))$

ERROR: braces {} are necessary for all arms of this statement
#398: FILE: ebpf/rss.bpf.skeleton.h:49:
+       if (bpf_object__open_skeleton(obj->skeleton, opts))
[...]

ERROR: code indent should never use tabs
#399: FILE: ebpf/rss.bpf.skeleton.h:50:
+^I^Igoto err;$

ERROR: code indent should never use tabs
#401: FILE: ebpf/rss.bpf.skeleton.h:52:
+^Ireturn obj;$

ERROR: code indent should never use tabs
#403: FILE: ebpf/rss.bpf.skeleton.h:54:
+^Irss_bpf__destroy(obj);$

ERROR: code indent should never use tabs
#404: FILE: ebpf/rss.bpf.skeleton.h:55:
+^Ireturn NULL;$

ERROR: code indent should never use tabs
#410: FILE: ebpf/rss.bpf.skeleton.h:61:
+^Ireturn rss_bpf__open_opts(NULL);$

ERROR: code indent should never use tabs
#416: FILE: ebpf/rss.bpf.skeleton.h:67:
+^Ireturn bpf_object__load_skeleton(obj->skeleton);$

ERROR: code indent should never use tabs
#422: FILE: ebpf/rss.bpf.skeleton.h:73:
+^Istruct rss_bpf *obj;$

ERROR: code indent should never use tabs
#424: FILE: ebpf/rss.bpf.skeleton.h:75:
+^Iobj = rss_bpf__open();$

ERROR: code indent should never use tabs
#425: FILE: ebpf/rss.bpf.skeleton.h:76:
+^Iif (!obj)$

ERROR: braces {} are necessary for all arms of this statement
#425: FILE: ebpf/rss.bpf.skeleton.h:76:
+       if (!obj)
[...]

ERROR: code indent should never use tabs
#426: FILE: ebpf/rss.bpf.skeleton.h:77:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#427: FILE: ebpf/rss.bpf.skeleton.h:78:
+^Iif (rss_bpf__load(obj)) {$

ERROR: code indent should never use tabs
#428: FILE: ebpf/rss.bpf.skeleton.h:79:
+^I^Irss_bpf__destroy(obj);$

ERROR: code indent should never use tabs
#429: FILE: ebpf/rss.bpf.skeleton.h:80:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#430: FILE: ebpf/rss.bpf.skeleton.h:81:
+^I}$

ERROR: code indent should never use tabs
#431: FILE: ebpf/rss.bpf.skeleton.h:82:
+^Ireturn obj;$

ERROR: code indent should never use tabs
#437: FILE: ebpf/rss.bpf.skeleton.h:88:
+^Ireturn bpf_object__attach_skeleton(obj->skeleton);$

ERROR: code indent should never use tabs
#443: FILE: ebpf/rss.bpf.skeleton.h:94:
+^Ireturn bpf_object__detach_skeleton(obj->skeleton);$

ERROR: code indent should never use tabs
#449: FILE: ebpf/rss.bpf.skeleton.h:100:
+^Istruct bpf_object_skeleton *s;$

ERROR: code indent should never use tabs
#451: FILE: ebpf/rss.bpf.skeleton.h:102:
+^Is = (struct bpf_object_skeleton *)calloc(1, sizeof(*s));$

ERROR: code indent should never use tabs
#452: FILE: ebpf/rss.bpf.skeleton.h:103:
+^Iif (!s)$

ERROR: braces {} are necessary for all arms of this statement
#452: FILE: ebpf/rss.bpf.skeleton.h:103:
+       if (!s)
[...]

ERROR: code indent should never use tabs
#453: FILE: ebpf/rss.bpf.skeleton.h:104:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#454: FILE: ebpf/rss.bpf.skeleton.h:105:
+^Iobj->skeleton = s;$

ERROR: code indent should never use tabs
#456: FILE: ebpf/rss.bpf.skeleton.h:107:
+^Is->sz = sizeof(*s);$

ERROR: code indent should never use tabs
#457: FILE: ebpf/rss.bpf.skeleton.h:108:
+^Is->name = "rss_bpf";$

ERROR: code indent should never use tabs
#458: FILE: ebpf/rss.bpf.skeleton.h:109:
+^Is->obj = &obj->obj;$

ERROR: code indent should never use tabs
#460: FILE: ebpf/rss.bpf.skeleton.h:111:
+^I/* maps */$

ERROR: code indent should never use tabs
#461: FILE: ebpf/rss.bpf.skeleton.h:112:
+^Is->map_cnt = 3;$

ERROR: code indent should never use tabs
#462: FILE: ebpf/rss.bpf.skeleton.h:113:
+^Is->map_skel_sz = sizeof(*s->maps);$

ERROR: code indent should never use tabs
#463: FILE: ebpf/rss.bpf.skeleton.h:114:
+^Is->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, s->map_skel_sz);$

ERROR: code indent should never use tabs
#464: FILE: ebpf/rss.bpf.skeleton.h:115:
+^Iif (!s->maps)$

ERROR: braces {} are necessary for all arms of this statement
#464: FILE: ebpf/rss.bpf.skeleton.h:115:
+       if (!s->maps)
[...]

ERROR: code indent should never use tabs
#465: FILE: ebpf/rss.bpf.skeleton.h:116:
+^I^Igoto err;$

ERROR: code indent should never use tabs
#467: FILE: ebpf/rss.bpf.skeleton.h:118:
+^Is->maps[0].name = "tap_rss_map_configurations";$

ERROR: code indent should never use tabs
#468: FILE: ebpf/rss.bpf.skeleton.h:119:
+^Is->maps[0].map = &obj->maps.tap_rss_map_configurations;$

ERROR: code indent should never use tabs
#470: FILE: ebpf/rss.bpf.skeleton.h:121:
+^Is->maps[1].name = "tap_rss_map_indirection_table";$

ERROR: code indent should never use tabs
#471: FILE: ebpf/rss.bpf.skeleton.h:122:
+^Is->maps[1].map = &obj->maps.tap_rss_map_indirection_table;$

ERROR: code indent should never use tabs
#473: FILE: ebpf/rss.bpf.skeleton.h:124:
+^Is->maps[2].name = "tap_rss_map_toeplitz_key";$

ERROR: code indent should never use tabs
#474: FILE: ebpf/rss.bpf.skeleton.h:125:
+^Is->maps[2].map = &obj->maps.tap_rss_map_toeplitz_key;$

ERROR: code indent should never use tabs
#476: FILE: ebpf/rss.bpf.skeleton.h:127:
+^I/* programs */$

ERROR: code indent should never use tabs
#477: FILE: ebpf/rss.bpf.skeleton.h:128:
+^Is->prog_cnt = 1;$

ERROR: code indent should never use tabs
#478: FILE: ebpf/rss.bpf.skeleton.h:129:
+^Is->prog_skel_sz = sizeof(*s->progs);$

WARNING: line over 80 characters
#479: FILE: ebpf/rss.bpf.skeleton.h:130:
+       s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, 
s->prog_skel_sz);

ERROR: code indent should never use tabs
#479: FILE: ebpf/rss.bpf.skeleton.h:130:
+^Is->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz);$

ERROR: code indent should never use tabs
#480: FILE: ebpf/rss.bpf.skeleton.h:131:
+^Iif (!s->progs)$

ERROR: braces {} are necessary for all arms of this statement
#480: FILE: ebpf/rss.bpf.skeleton.h:131:
+       if (!s->progs)
[...]

ERROR: code indent should never use tabs
#481: FILE: ebpf/rss.bpf.skeleton.h:132:
+^I^Igoto err;$

ERROR: code indent should never use tabs
#483: FILE: ebpf/rss.bpf.skeleton.h:134:
+^Is->progs[0].name = "tun_rss_steering_prog";$

ERROR: code indent should never use tabs
#484: FILE: ebpf/rss.bpf.skeleton.h:135:
+^Is->progs[0].prog = &obj->progs.tun_rss_steering_prog;$

ERROR: code indent should never use tabs
#485: FILE: ebpf/rss.bpf.skeleton.h:136:
+^Is->progs[0].link = &obj->links.tun_rss_steering_prog;$

ERROR: code indent should never use tabs
#487: FILE: ebpf/rss.bpf.skeleton.h:138:
+^Is->data_sz = 8088;$

ERROR: code indent should never use tabs
#488: FILE: ebpf/rss.bpf.skeleton.h:139:
+^Is->data = (void *)"\$

ERROR: code indent should never use tabs
#774: FILE: ebpf/rss.bpf.skeleton.h:425:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#776: FILE: ebpf/rss.bpf.skeleton.h:427:
+^Ibpf_object__destroy_skeleton(s);$

ERROR: code indent should never use tabs
#777: FILE: ebpf/rss.bpf.skeleton.h:428:
+^Ireturn -1;$

total: 85 errors, 3 warnings, 780 lines checked

Patch 4/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/7 Checking commit f89d2b6d7a13 (virtio-net: Added eBPF RSS to virtio-net.)
WARNING: line over 80 characters
#185: FILE: hw/net/virtio-net.c:2868:
+                    warn_report("Can't post-load eBPF RSS - fallback to 
software RSS");

total: 0 errors, 1 warnings, 214 lines checked

Patch 5/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/7 Checking commit b931e15ca671 (docs: Added eBPF documentation.)
Use of uninitialized value $acpi_testexpected in string eq at 
./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#16: 
new file mode 100644

total: 0 errors, 1 warnings, 129 lines checked

Patch 6/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/7 Checking commit 842e84177ce5 (MAINTAINERS: Added eBPF maintainers 
information.)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
20210428164733.56547-1-andrew@daynix.com/testing.checkpatch/?type=message">http://patchew.org/logs/20210428164733.56547-1-andrew@daynix.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]