History log of /dragonfly/sys/net/if_poll.c (Results 1 – 25 of 63)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc
# bff82488 20-Mar-2018 Aaron LI <aly@aaronly.me>

<net/if.h>: Do not include <net/if_var.h> for _KERNEL

* Clean up an ancient leftover: do not include <net/if_var.h> from <net/if.h>
for kernel stuffs.

* Adjust various files to include the necess

<net/if.h>: Do not include <net/if_var.h> for _KERNEL

* Clean up an ancient leftover: do not include <net/if_var.h> from <net/if.h>
for kernel stuffs.

* Adjust various files to include the necessary <net/if_var.h> header.

NOTE:
I have also tested removing the inclusion of <net/if.h> from <net/if_var.h>,
therefore add <net/if.h> inclusion for those files that need it but only
included <net/if_var.h>. For some files, the header inclusion orderings are
also adjusted.

show more ...


Revision tags: v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1
# 32f8b1ac 25-Sep-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Utilize netisr_domsg_global


# 83d8ec1e 25-Sep-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: No need to explicitly align io context and systimer context


# 85b010b0 25-Sep-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Adjust comment


# 0178c976 25-Sep-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Don't do direct input in critical section.


# 8d0afa86 23-Sep-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Implement direct input support.

When "direct input" is enabled by driver, driver's RX polling handler
will run ethernet/ip/tcp processing directly, which avoids cache-miss
on mbufs themselv

polling: Implement direct input support.

When "direct input" is enabled by driver, driver's RX polling handler
will run ethernet/ip/tcp processing directly, which avoids cache-miss
on mbufs themselves. Currently it is enabled on ix(4) by default.

The normal IP forwarding performance is improved by %12, while the fast
IP forwarding performance is improved by 10%. 13.2Mpps is achieved for
dual side IP forwarding!

1 request/connection HTTP/1.1 performance and avg-latency stay same,
but the latency is further stablized:
1K 5.20ms -> 4.60ms
8K 6.43ms -> 5.76ms
16K 16.30ms -> 14.90ms

show more ...


# 5204e13c 07-Aug-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

netisr: Simplify assertion related bits


Revision tags: v4.8.1
# e3bcf7f5 27-Jul-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Simplify the code by using netsr_*msg functions.


# d1958e12 09-Apr-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

ifpoll: Use netisr_ncpus.


# 49f7483b 09-Apr-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

ifpoll: Use SYSINIT to initialize per-cpu ifpoll context.


Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4
# 471bee20 31-Jul-2015 Sepherosa Ziehau <sephe@dragonflybsd.org>

net: Factor out ASSERT_IN_NETISR and ASSERT_IS_NETISR


Revision tags: v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1
# 84a3d873 25-Jan-2014 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Utilize microtime_pcpu


Revision tags: v3.6.0, v3.7.1, v3.6.0rc, v3.7.0
# c068fb59 30-Oct-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

msgport: Add putport_oncpu; helps scheduling netisr locally for spin port

Background:
High rate (actually same rate as polling(4)) IPIs on random CPUs are
observed when polling(4) is enabled and the

msgport: Add putport_oncpu; helps scheduling netisr locally for spin port

Background:
High rate (actually same rate as polling(4)) IPIs on random CPUs are
observed when polling(4) is enabled and there is virtually no network
activity.

After polling(4) activities are traced using ktr(9), it turns out that the
high rate IPIs are actually from the wakeup() on netisr's msgport. Since
the sleep queue cpumask is indexed by the hash of ident, there are chances
that the netisr's msgport ident has the same hash value as other idents
that certain threads on other CPUs are waiting on. If this ever happens
(well, it does happen), the netisr's msgport wakeup will trigger "wakeup"
IPIs to other CPUs. However, these "wakeup" IPIs are actually useless,
since only netisr will wait on its msgport.

putport_oncpu() msgport method is added to call wakeup_mycpu() for spin
msgport, if we know that this port is only accessed by one thread on the
current CPU, e.g. polling(4). This is also the case for other network
code, e.g. syncache timeout, TCP timeout, fastforward flow cache timeout
etc. However, these network code's running rate is too low to unveil the
extra "wakeup" IPIs problem. lwkt_sendmsg_oncpu() is added as wrapper to
putport_oncpu() msgport method.

Currently, only polling(4) is using lwkt_sendmsg_oncpu(). Others will
be converted soon.

show more ...


# 95ff9ed0 29-Oct-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Add preliminary KTR support


# f1e0231c 17-Sep-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

ifpoll: Use tsc_invariant consistently


Revision tags: v3.4.3
# c415c77e 19-Jun-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

net: Use tsc_invariant when it is necessary; mainly in time measure


# f793baa1 18-Jun-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Fix comment


Revision tags: v3.4.2
# 5337421c 02-May-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

netisr: Inline netisr_cpuport() and netisr_curport()

These two functions do nothing more than just return pointer to the
element in the array.

Per our header file naming convention, put these two f

netisr: Inline netisr_cpuport() and netisr_curport()

These two functions do nothing more than just return pointer to the
element in the array.

Per our header file naming convention, put these two functions in
net/netisr2.h

show more ...


# ec7f7fc8 28-Apr-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

netisr: Function renaming; no functional changes

This cleans up code for keeping input packets' hash instead of masking
the hash with ncpus2_mask. netisr_hashport(), which maps packet hash
to netis

netisr: Function renaming; no functional changes

This cleans up code for keeping input packets' hash instead of masking
the hash with ncpus2_mask. netisr_hashport(), which maps packet hash
to netisr port, will be added soon.

show more ...


Revision tags: v3.4.0, v3.4.1, v3.4.0rc, v3.5.0
# dfd3b18b 05-Jan-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

if: Move if_cpuid into ifaltq; prepare multiple TX queues support

if_cpuid and if_npoll_cpuid are merged and moved into ifaltq as
altq_cpuid, which indicates the owner CPU of the tx queue. Since
we

if: Move if_cpuid into ifaltq; prepare multiple TX queues support

if_cpuid and if_npoll_cpuid are merged and moved into ifaltq as
altq_cpuid, which indicates the owner CPU of the tx queue. Since
we already have code in if_start_dispatch() to catching tx queue
owner CPU changes, this merging is quite safe.

show more ...


# 5f497de9 24-Dec-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Perform RX polling before TX polling


# fa7903f3 18-Dec-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Increase default polling rate to 6000Hz

This increases the bidirational normal IP forwarding rate by 30~40Kpps


Revision tags: v3.2.2
# 107282b9 14-Dec-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Increase default rx.each_burst to 50

With this default the CPU usage still could be throttled to the desired
value (rx.user_frac), it gives reasonable burst for modern systems and
number of

polling: Increase default rx.each_burst to 50

With this default the CPU usage still could be throttled to the desired
value (rx.user_frac), it gives reasonable burst for modern systems and
number of empty RX polling is reduced.

show more ...


# d61a4c96 14-Dec-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Diverge each CPU's polling frequency a little bit (within 50Hz)

This avoids possible thunder hurd effect on ifnet.if_snd's serializer.


# ac65d38f 10-Dec-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

polling: Add tunable for net.ifpoll.X.rx.user_frac


123