History log of /trafficserver/iocore/eventsystem/ (Results 51 - 75 of 447)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c6d08f4323-Apr-2019 bichen

cppcheck: Change to C++ style pointer casting in Thread.cc

cdd6481a11-Feb-2019 Walter Karas

Some tidying up of the global namespace.

ab95cd7601-Apr-2019 Susan Hinrichs

Fix compile problems with PR-5211

7651e26919-Mar-2019 Masaori Koshiba

Ran clang-tidy with modernize-use-default-member-init

1. Remove unmatched #endif and set `_location` nullptr.
- iocore/eventsystem/I_IOBuffer.h
- iocore/eventsystem/P_IOBuffer.h

Ran clang-tidy with modernize-use-default-member-init

1. Remove unmatched #endif and set `_location` nullptr.
- iocore/eventsystem/I_IOBuffer.h
- iocore/eventsystem/P_IOBuffer.h

2. Include "ts/apidefs.h"
- include/tscpp/api/Stat.h

3. Rollback changes made with -fix-error option (clang-diagnostic-implicit-function-declaration)
- plugins/lua/ts_lua_client_request.c
- plugins/lua/ts_lua_client_response.c
- plugins/lua/ts_lua_server_response.c
- plugins/experimental/remap_stats/remap_stats.c

show more ...

94ccc44723-Mar-2019 Oknet Xu

Replace EThread::has_event_loop with EThread::tt == REGULAR

8e96e0be18-Mar-2019 Masaori Koshiba

Suppress modernize-use-nullptr on ink_thread

3340005228-Feb-2019 Fei Deng

set thread affinity to current thread if the current thread type is the same as the target thread

69dd33dd27-Feb-2019 Masakazu Kitajo

Revert "Rename Session and Transaction classes"

This reverts commit dfd5d8f4533fadf1ca15834e0c2cdde06f96453e.

Conflicts:
proxy/ProxyClientSession.cc
proxy/h

Revert "Rename Session and Transaction classes"

This reverts commit dfd5d8f4533fadf1ca15834e0c2cdde06f96453e.

Conflicts:
proxy/ProxyClientSession.cc
proxy/http/HttpSM.h

show more ...

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.

12345678910>>...18