History log of /trafficserver/iocore/eventsystem/ (Results 51 - 75 of 439)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4266403421-Feb-2019 Fei Deng

set thread affinity using type info

e1ea2cb604-Feb-2019 Susan Hinrichs

Make mutex lock routines deal with null mutex and general clean up.

841697c623-Jan-2019 Alan M. Carroll

Add IOBufferReader::block_read_view method.

dfd5d8f430-Jan-2019 Aaron Canary

Rename Session and Transaction classes

ProxyClientSession -> ProxySession
ProxyClientTransaction -> ProxyTransaction
HttpServerSession -> Http1ServerSession
HttpClientTransaction

Rename Session and Transaction classes

ProxyClientSession -> ProxySession
ProxyClientTransaction -> ProxyTransaction
HttpServerSession -> Http1ServerSession
HttpClientTransaction -> Http1Transaction
make files


clang-format


fixed make


docs

show more ...

1b5c6fc428-Jan-2019 Fei Deng

fix a segfault on mac

45be602004-Oct-2018 Fei Deng

new scheduling and thread affinity apis with tests

1ad1270007-Jan-2019 Masaori Koshiba

Cleanup: Make _next_round_robin uint64_t

6e84a42f08-Jan-2019 Bryan Call

Fixed clang 5.0.0 issue with brace initialization

00408ff604-Jan-2019 dyrock

Added null value init for VConn user_args.

af0ad4a104-Jan-2019 Jean Baptiste Favre

Fix spelling errors reported by lintian

8ae5611a19-Dec-2018 Oknet Xu

Optimize: Do not signal EThreads which are not blocked on cond_timedwait.

From the man page of `pthread_cond_timedwait()`:

```
The pthread_cond_timedwait() function atomically b

Optimize: Do not signal EThreads which are not blocked on cond_timedwait.

From the man page of `pthread_cond_timedwait()`:

```
The pthread_cond_timedwait() function atomically blocks the current
thread waiting on the condition variable specified by cond, and releases
the mutex specified by mutex. The waiting thread unblocks only after
another thread calls pthread_cond_signal(3), or
pthread_cond_broadcast(3) with the same condition variable, or if the
system time reaches the time specified in abstime, and the current
thread reacquires the lock on mutex.
```

Refer to the code of `ProtectedQueue::wait()`,

```
ink_mutex_acquire(&lock);
if (INK_ATOMICLIST_EMPTY(al)) {
timespec ts = ink_hrtime_to_timespec(timeout);
ink_cond_timedwait(&might_have_data, &lock, &ts);
}
ink_mutex_release(&lock);
```

The `EThread::lock` is acquired and then released immediatelly by
`ink_cond_timedwait()`.
When the thread unblocks, the thread reacquires the lock on
`EThread::lock`, and then released immediatelly.

Refer to the code of `ProtectedQueue::signal()`,

```
TS_INLINE void
ProtectedQueue::signal()
{
// Need to get the lock before you can signal the thread
ink_mutex_acquire(&lock);
ink_cond_signal(&might_have_data);
ink_mutex_release(&lock);
}
```

The threads that try to send signal to the same target Event Thread are
blocked on the mutex and send meaningless wakeup signals one by one.

It is not necessory,

- To acquire and release the `EThread::lock` again and again in the
event loop,
- To send wakeup signal to an Event Thread that does not blocked on
`pthread_cond_timedwait()`.

Changes of the commit:

The Event Thread has two status: busy and sleep,

- Keep `EThread::lock` locked while Event Thread is busy,
- The `EThread::lock` is released while Event Thread is sleep.

When other threads try to acquire the `EThread::lock` of the target
Event Thread,

- Acquired, indicating that the target Event Thread is sleep, must send
a wakeup signal to the Event Thread.
- Failed, indicating that the target Event Thread is busy, do nothing.

Backports:

If you backport the commit to the branch without PR#2541,

- It is safe to remove `flush_signals()` from the event loop.
- Also safe to remove any code related with `ethreads_to_be_signalled[]`
and `n_ethreads_to_be_signalled`.
- Always do `try_signal()` within `ProtectedQueue::enqueue()`.
- Suggest to remove `ProtectedQueue::signal()`.

show more ...

92ab7ef117-Dec-2018 Fei Deng

task threads ready lifecycle hook

d9732a5a18-Dec-2018 Oknet Xu

Optimize: Avoid meaningless lock operations

ae094ab630-Nov-2018 Susan Hinrichs

Avoid the auto-reschedule with dispatchEvent

63ea263f02-Nov-2018 Xavier Chi

TCL: Remove TCL from our code base

bf1cfb9206-Nov-2018 Alan M. Carroll

Cleanup: Update Version support to be actual C++ code.

5134462c04-Oct-2018 Walter Karas

Prevent segment violation in TSContDestroy() when it is called during destruction of statically-allocated objects
at program termination.

Also add new gold test to exercise TS API hooks.

7d7c558104-Oct-2018 Walter Karas

Add some feeble amount of encapsulation to the Thread class.

1026969613-Sep-2018 Alan M. Carroll

Follow up for #3724 - fix out of tree builds.

079a402730-Aug-2018 Susan Hinrichs

PR #3724: Restructure library headers to unify include paths.

f590e4ec23-Aug-2018 Susan Hinrichs

Move handleEvent back into the header file.

72ed044514-Aug-2018 Susan Hinrichs

Replace TRY_MUTEX_LOCK_FOR with equivalent TRY_MUTEX_LOCK

5642ab2009-Aug-2018 Oknet Xu

fix the number of started threads of certain type.

0242647a01-Aug-2018 Randall Meyer

Removes weird comment 'MAGIC_EDITING_TAG'

96c4f99430-Jul-2018 Randall Meyer

Removes unused prefetch related code

This was originally removed in 0f7128b04b4fc277ebda1c91e51b39e35b4217d8

12345678910>>...18