History log of /freebsd/sys/kern/subr_epoch.c (Results 51 – 75 of 80)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 14b841d4 11-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

MFH @ r337607, in preparation for boarding


# f9c0a512 10-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r337286 through r337585.


# 9fec45d8 09-Aug-2018 Matt Macy <mmacy@FreeBSD.org>

epoch_block_wait: don't check TD_RUNNING

struct epoch_thread is not type safe (stack allocated) and thus cannot be dereferenced from another CPU

Reported by: novel@


# 822e50e3 06-Jul-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): simplify initialization

replace manual NUMA aware allocation with a pcpu zone


# 10b8cd7f 04-Jul-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): make nesting assert in epoch_wait_preempt more specific

Reported by: markj


# 6573d758 04-Jul-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): allow preemptible epochs to compose

- Add tracker argument to preemptible epochs
- Inline epoch read path in kernel and tied modules
- Change in_epoch to take an epoch as argument
- Simpli

epoch(9): allow preemptible epochs to compose

- Add tracker argument to preemptible epochs
- Inline epoch read path in kernel and tied modules
- Change in_epoch to take an epoch as argument
- Simplify tfb_tcp_do_segment to not take a ti_locked argument,
there's no longer any benefit to dropping the pcbinfo lock
and trying to do so just adds an error prone branchfest to
these functions
- Remove cases of same function recursion on the epoch as
recursing is no longer free.
- Remove the the TAILQ_ENTRY and epoch_section from struct
thread as the tracker field is now stack or heap allocated
as appropriate.

Tested by: pho and Limelight Networks
Reviewed by: kbowling at llnw dot com
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D16066

show more ...


# 74333b3d 24-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

fix assert and conditionally allow mutexes to be held across epoch_wait_preempt


# 0bcfb473 23-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): Don't trigger taskq enqueue before the grouptaskqs are setup

If EARLY_AP_STARTUP is not defined it is possible for an epoch to be
allocated prior to it being possible to call epoch_call wi

epoch(9): Don't trigger taskq enqueue before the grouptaskqs are setup

If EARLY_AP_STARTUP is not defined it is possible for an epoch to be
allocated prior to it being possible to call epoch_call without
issue.

Based on patch by andrew@

PR: 229014
Reported by: andrew

show more ...


# ae25f40b 22-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): make non-preemptible variant work early boot


Revision tags: release/11.2.0
# e445381f 30-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): make epoch closer to style(9)


# 13679eba 21-May-2018 Mark Johnston <markj@FreeBSD.org>

Don't pass a section cookie to CK for non-preemptible epoch sections.

They're only useful when multiple threads may share an epoch record,
and that can't happen with non-preemptible sections.

Revie

Don't pass a section cookie to CK for non-preemptible epoch sections.

They're only useful when multiple threads may share an epoch record,
and that can't happen with non-preemptible sections.

Reviewed by: mmacy
Differential Revision: https://reviews.freebsd.org/D15507

show more ...


# e339e436 19-May-2018 Matt Macy <mmacy@FreeBSD.org>

subr_epoch.c fix unused variable warnings


# 20ba6811 18-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): assert that epoch is allocated post-configure


# 70398c2f 18-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): Make epochs non-preemptible by default

There are risks associated with waiting on a preemptible epoch section.
Change the name to make them not be the default and document the issue
under

epoch(9): Make epochs non-preemptible by default

There are risks associated with waiting on a preemptible epoch section.
Change the name to make them not be the default and document the issue
under CAVEATS.

Reported by: markj

show more ...


# 60b7b90d 18-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch: actually allocate the counters we've assigned sysctls too

Approved by: sbruno


# 5e68a3df 18-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch: add non-preemptible "critical" variant

adds:
- epoch_enter_critical() - can be called inside a different epoch,
starts a section that will acquire any MTX_DEF mutexes or do
anything that

epoch: add non-preemptible "critical" variant

adds:
- epoch_enter_critical() - can be called inside a different epoch,
starts a section that will acquire any MTX_DEF mutexes or do
anything that might sleep.
- epoch_exit_critical() - corresponding exit call
- epoch_wait_critical() - wait variant that is guaranteed that any
threads in a section are running.
- epoch_global_critical - an epoch_wait_critical safe epoch instance

Requested by: markj
Approved by: sbruno

show more ...


# a5f10424 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch: skip poll function call in hardclock unless there are callbacks pending

Reported by: mjg
Approved by: sbruno


# c4d901e9 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): schedule pcpu callback task in hardclock if there are callbacks pending

Approved by: sbruno


# 2a45e828 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): eliminate the need to wait when polling for callbacks to run

by using ck's own callback handling mechanism we can simply check which
callbacks have had a grace period elapse

Approved by:

epoch(9): eliminate the need to wait when polling for callbacks to run

by using ck's own callback handling mechanism we can simply check which
callbacks have had a grace period elapse

Approved by: sbruno

show more ...


# d1bcb409 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): fix potential deadlock

Don't acquire a waiting thread's lock while holding our own

Approved by: sbruno


# 766d2253 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): restore thread priority on exit if it was changed by a waiter

Reported by: markj
Approved by: sbruno


# fdf71aeb 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): make recursion lighter weight

There isn't any real work to do except bump td_epochnest when recursing.
Skip the additional work in this case.

Approved by: sbruno


# b8205686 17-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): Guarantee forward progress on busy sections

Add epoch section to struct thread. We can use this to
ennable epoch counter to advance even if a section is
perpetually occupied by a thread.

epoch(9): Guarantee forward progress on busy sections

Add epoch section to struct thread. We can use this to
ennable epoch counter to advance even if a section is
perpetually occupied by a thread.

Approved by: sbruno

show more ...


# 0c58f85b 14-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): allow sx locks to be held across epoch_wait()

The INVARIANTS checks in epoch_wait() were intended to
prevent the block handler from returning with locks held.
What it in fact did was preve

epoch(9): allow sx locks to be held across epoch_wait()

The INVARIANTS checks in epoch_wait() were intended to
prevent the block handler from returning with locks held.
What it in fact did was preventing anything except Giant
from being held across it. Check that the number of locks
held has not changed instead.

Approved by: sbruno@

show more ...


# 1f4beb63 14-May-2018 Matt Macy <mmacy@FreeBSD.org>

epoch(9): cleanups, additional debug checks, and add global_epoch

- GC the _nopreempt routines
- to really benefit we'd need a separate routine
- they're not currently in use
- they comp

epoch(9): cleanups, additional debug checks, and add global_epoch

- GC the _nopreempt routines
- to really benefit we'd need a separate routine
- they're not currently in use
- they complicate the API for no benefit at this time

- check that we're actually in a epoch section at exit

- handle epoch_call() early in boot

- Fix copyright declaration language

Approved by: sbruno@

show more ...


1234