gazelle reduce copy in send
(cherry picked from commit c8a10af7468988f907c7f4d069519b7272cb98b4)
This commit is contained in:
parent
de35ca0d62
commit
05bb144f30
50
0019-gazelle-reduce-copy-in-send.patch
Normal file
50
0019-gazelle-reduce-copy-in-send.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From 05bfdb54fc744d835c8b3b50b54d220fe7e87277 Mon Sep 17 00:00:00 2001
|
||||||
|
From: wuchangsheng <wuchangsheng2@huawei.com>
|
||||||
|
Date: Mon, 7 Mar 2022 21:10:06 +0800
|
||||||
|
Subject: [PATCH] reduce copy in send
|
||||||
|
|
||||||
|
---
|
||||||
|
src/core/pbuf.c | 5 +++++
|
||||||
|
src/include/lwip/pbuf.h | 3 +++
|
||||||
|
2 files changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/core/pbuf.c b/src/core/pbuf.c
|
||||||
|
index 27afc28..cd6b558 100644
|
||||||
|
--- a/src/core/pbuf.c
|
||||||
|
+++ b/src/core/pbuf.c
|
||||||
|
@@ -281,6 +281,10 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If pbuf is to be allocated in RAM, allocate memory for it. */
|
||||||
|
+#if USE_LIBOS
|
||||||
|
+ /* alloc mbuf to reduce copy in sending */
|
||||||
|
+ p = lwip_alloc_pbuf(layer, length, type);
|
||||||
|
+#else
|
||||||
|
p = (struct pbuf *)mem_malloc(alloc_len);
|
||||||
|
if (p == NULL) {
|
||||||
|
return NULL;
|
||||||
|
@@ -289,6 +293,7 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
|
||||||
|
length, length, type, 0);
|
||||||
|
LWIP_ASSERT("pbuf_alloc: pbuf->payload properly aligned",
|
||||||
|
((mem_ptr_t)p->payload % MEM_ALIGNMENT) == 0);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
diff --git a/src/include/lwip/pbuf.h b/src/include/lwip/pbuf.h
|
||||||
|
index e5daf96..3894574 100644
|
||||||
|
--- a/src/include/lwip/pbuf.h
|
||||||
|
+++ b/src/include/lwip/pbuf.h
|
||||||
|
@@ -272,6 +272,9 @@ void pbuf_free_ooseq(void);
|
||||||
|
/* Initializes the pbuf module. This call is empty for now, but may not be in future. */
|
||||||
|
#define pbuf_init()
|
||||||
|
|
||||||
|
+#if USE_LIBOS
|
||||||
|
+struct pbuf *lwip_alloc_pbuf(pbuf_layer l, u16_t length, pbuf_type type);
|
||||||
|
+#endif
|
||||||
|
struct pbuf *pbuf_alloc(pbuf_layer l, u16_t length, pbuf_type type);
|
||||||
|
struct pbuf *pbuf_alloc_reference(void *payload, u16_t length, pbuf_type type);
|
||||||
|
#if LWIP_SUPPORT_CUSTOM_PBUF
|
||||||
|
--
|
||||||
|
2.30.0
|
||||||
|
|
||||||
27
lwip.spec
27
lwip.spec
@ -4,7 +4,7 @@
|
|||||||
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
|
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
|
||||||
Name: lwip
|
Name: lwip
|
||||||
Version: 2.1.3
|
Version: 2.1.3
|
||||||
Release: 5
|
Release: 6
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://savannah.nongnu.org/projects/lwip/
|
URL: http://savannah.nongnu.org/projects/lwip/
|
||||||
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.tar.gz
|
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.tar.gz
|
||||||
@ -27,6 +27,7 @@ Patch9014: 0015-fix-tcp-port-alloc-issue.patch
|
|||||||
Patch9015: 0016-lstack-support-mysql-mode.patch
|
Patch9015: 0016-lstack-support-mysql-mode.patch
|
||||||
Patch9016: 0017-support-REUSEPOR-option.patch
|
Patch9016: 0017-support-REUSEPOR-option.patch
|
||||||
Patch9017: 0018-exec-gazelle_init_sock-before-read-event.patch
|
Patch9017: 0018-exec-gazelle_init_sock-before-read-event.patch
|
||||||
|
Patch9018: 0019-gazelle-reduce-copy-in-send.patch
|
||||||
|
|
||||||
BuildRequires: gcc-c++ dos2unix dpdk-devel
|
BuildRequires: gcc-c++ dos2unix dpdk-devel
|
||||||
|
|
||||||
@ -38,28 +39,9 @@ ExclusiveArch: x86_64 aarch64
|
|||||||
lwip is a small independent implementation of the TCP/IP protocol suite.
|
lwip is a small independent implementation of the TCP/IP protocol suite.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n %{name}-%{version} -q
|
%autosetup -n %{name}-%{version} -p1
|
||||||
find %{_builddir}/%{name}-%{version} -type f -exec dos2unix -q {} \;
|
find %{_builddir}/%{name}-%{version} -type f -exec dos2unix -q {} \;
|
||||||
|
|
||||||
%patch9000 -p1
|
|
||||||
%patch9001 -p1
|
|
||||||
%patch9002 -p1
|
|
||||||
%patch9003 -p1
|
|
||||||
%patch9004 -p1
|
|
||||||
%patch9005 -p1
|
|
||||||
%patch9006 -p1
|
|
||||||
%patch9007 -p1
|
|
||||||
%patch9008 -p1
|
|
||||||
%patch9009 -p1
|
|
||||||
%patch9010 -p1
|
|
||||||
%patch9011 -p1
|
|
||||||
%patch9012 -p1
|
|
||||||
%patch9013 -p1
|
|
||||||
%patch9014 -p1
|
|
||||||
%patch9015 -p1
|
|
||||||
%patch9016 -p1
|
|
||||||
%patch9017 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cd %{_builddir}/%{name}-%{version}/src
|
cd %{_builddir}/%{name}-%{version}/src
|
||||||
%make_build
|
%make_build
|
||||||
@ -74,6 +56,9 @@ cd %{_builddir}/%{name}-%{version}/src
|
|||||||
%{_libdir}/liblwip.a
|
%{_libdir}/liblwip.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Mar 07 2022 wu-changsheng<wuchangsheng2@huawei.com> - 2.1.3-6
|
||||||
|
- gazelle reduce copy in send
|
||||||
|
|
||||||
* Mon Mar 07 2022 jiangheng<jiangheng12@huawei.com> - 2.1.3-5
|
* Mon Mar 07 2022 jiangheng<jiangheng12@huawei.com> - 2.1.3-5
|
||||||
- exec gazelle_sock_init before read event
|
- exec gazelle_sock_init before read event
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user