Merge pull request #6515 from marcemmers/mbed_ticker_api

Only schedule mbed_ticker interrupt if queue->head is changed
pull/7080/merge
Martin Kojtal 2018-06-05 14:14:52 +02:00 committed by GitHub
commit eddaa8b51b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 3 deletions

View File

@ -697,6 +697,7 @@ static void test_legacy_insert_event_multiple_overflow()
interface_stub.timestamp = interface_stub.timestamp =
last_timestamp_to_insert + last_timestamp_to_insert +
((ref_event_timestamp - last_timestamp_to_insert) / 2); ((ref_event_timestamp - last_timestamp_to_insert) / 2);
ticker_irq_handler(&ticker_stub);
for (size_t i = 0; i < MBED_ARRAY_SIZE(events); ++i) { for (size_t i = 0; i < MBED_ARRAY_SIZE(events); ++i) {
ticker_insert_event( ticker_insert_event(

View File

@ -359,14 +359,12 @@ void ticker_insert_event_us(const ticker_data_t *const ticker, ticker_event_t *o
/* if prev is NULL we're at the head */ /* if prev is NULL we're at the head */
if (prev == NULL) { if (prev == NULL) {
ticker->queue->head = obj; ticker->queue->head = obj;
schedule_interrupt(ticker);
} else { } else {
prev->next = obj; prev->next = obj;
} }
schedule_interrupt(ticker);
core_util_critical_section_exit(); core_util_critical_section_exit();
} }
void ticker_remove_event(const ticker_data_t *const ticker, ticker_event_t *obj) void ticker_remove_event(const ticker_data_t *const ticker, ticker_event_t *obj)