From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1921) id F40FC385C338; Mon, 11 Jul 2022 11:51:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F40FC385C338 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Although most of the NIC drivers are epoch ready, X-Act-Checkin: newlib-cygwin X-Git-Author: Gleb Smirnoff X-Git-Refname: refs/heads/master X-Git-Oldrev: 0dfcaa0211e99e6c3864a4f4b74e0625c2289943 X-Git-Newrev: f3303cf1d5c9fe8236a576fc994052bc7718759a Message-Id: <20220711115128.F40FC385C338@sourceware.org> Date: Mon, 11 Jul 2022 11:51:28 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2022 11:51:29 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Df3303cf1d5c= 9fe8236a576fc994052bc7718759a commit f3303cf1d5c9fe8236a576fc994052bc7718759a Author: Gleb Smirnoff Date: Mon Feb 24 21:07:30 2020 +0000 Although most of the NIC drivers are epoch ready, =20 due to peer pressure switch over to opt-in instead of opt-out for epoch. =20 Instead of IFF_NEEDSEPOCH, provide IFF_KNOWSEPOCH. If driver marks itself with IFF_KNOWSEPOCH, then ether_input() would not enter epoch when processing its packets. =20 Now this will create recursive entrance in epoch in >90% network drivers, but will guarantee safeness of the transition. =20 Mark several tested drivers as IFF_KNOWSEPOCH. =20 Reviewed by: hselasky, jeff, bz, gallatin Differential Revision: https://reviews.freebsd.org/D23674 Diff: --- newlib/libc/sys/rtems/include/net/if.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/newlib/libc/sys/rtems/include/net/if.h b/newlib/libc/sys/rtems= /include/net/if.h index 2c1ecdf32..78b1654dc 100644 --- a/newlib/libc/sys/rtems/include/net/if.h +++ b/newlib/libc/sys/rtems/include/net/if.h @@ -144,7 +144,7 @@ struct if_data { #define IFF_DEBUG 0x4 /* (n) turn on debugging */ #define IFF_LOOPBACK 0x8 /* (i) is a loopback net */ #define IFF_POINTOPOINT 0x10 /* (i) is a point-to-point link */ -#define IFF_NEEDSEPOCH 0x20 /* (i) calls if_input w/o epoch */ +#define IFF_KNOWSEPOCH 0x20 /* (i) calls if_input in net epoch */ #define IFF_DRV_RUNNING 0x40 /* (d) resources allocated */ #define IFF_NOARP 0x80 /* (n) no address resolution protocol */ #define IFF_PROMISC 0x100 /* (n) receive all packets */ @@ -178,7 +178,7 @@ struct if_data { #define IFF_CANTCHANGE \ (IFF_BROADCAST|IFF_POINTOPOINT|IFF_DRV_RUNNING|IFF_DRV_OACTIVE|\ IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_PROMISC|\ - IFF_DYING|IFF_CANTCONFIG) + IFF_DYING|IFF_CANTCONFIG|IFF_KNOWSEPOCH) =20 /* * Values for if_link_state.