#
f2aaaf4c |
|
19-Jul-2018 |
Corey Tabaka <eieio@google.com> |
[kernel] Lockdep instrument the vm and thread_lock. - Instrument the locks used by the vm. - Instrument the thread lock and remainning core kernel code. - Leaving remaining arch/lib/driver code for a later CL. Bug: ZX-23 Test: k ut all and system/test/* pass + manual testing. Change-Id: Ie3f6a27e81bcd1890d63f2fafda3ee233f7969ef
|
#
6902df2f |
|
06-Jun-2018 |
George Kulakowski <kulakowski@google.com> |
[kernel][semaphore] Use WaitQueue in Semaphore Change-Id: I114bcc3bd16b9c4ebd976ff3e7c4205a7e3a5fa5
|
#
77c95af7 |
|
06-Jun-2018 |
George Kulakowski <kulakowski@google.com> |
[kernel][semaphore] Remove unused parameter to semaphore.Wait Change-Id: Iabb0707f16e8d231dcc54888880f61b0b3549147
|
#
2042701f |
|
27-Apr-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][port] Use resched_disable instead of tracking a wake_count Change PortDispatcher and Semaphore to use resched_disable instead of manually tracking whether we need to call thread_reschedule(). This shouldn't change the performance of ports. This is a cleanup in the sense that it removes a use of "reschedule=false" and simplifies the code. Remove the !arch_ints_disabled() assertion from thread_resched_disable(), because PortDispatcher::Queue() is called with interrupts disabled via the following code path, which sends a debug message when a thread exits as a result of being killed: x86_iframe_process_pending_signals()/arm64_thread_process_pending_signals() thread_process_pending_signals() thread_do_suspend() check_kill_signal() thread_exit() ThreadDispatcher::Exiting() ExceptionPort::OnThreadExitForDebugger() ThreadDispatcher::ExceptionHandlerExchange() ExceptionPort::SendPacketWorker() PortDispatcher::Queue() The assertion was unnecessarily strict. Note that there are very few places in the kernel that assert that interrupts are *not* disabled. ZX-1690 Change-Id: I8142295202bfce332abb69e2b36a79bda0df20ab
|
#
591d66cf |
|
25-Sep-2017 |
George Kulakowski <kulakowski@google.com> |
[kernel][time] Prefer zx_{time,duration}_t to lk_time_t Change-Id: Ie219c61f2ba7fd073917a6738221e2dde969fc2d
|
#
42abe91f |
|
25-Sep-2017 |
Abdulla Kamar <abdulla@google.com> |
[semaphore] Add optional was_blocked parameter to Wait. This allows us to more cleanly handle the case where we need to take additional action if invoking Wait caused us to block, rather than rely on some implicit logic. Change-Id: Ie6cbd3ffd34fde85e46f82dc4a37ac0921fc20b1
|
#
f3e2126c |
|
12-Sep-2017 |
Roland McGrath <mcgrathr@google.com> |
[zx] Magenta -> Zircon The Great Renaming is here! Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94
|
#
c98a3f35 |
|
06-Sep-2017 |
Roland McGrath <mcgrathr@google.com> |
[kernel] Define AutoThreadLock class and use it in C++ THREAD_LOCK cases Like AutoLock but for the thread_lock. Change-Id: I6ce34c58243b85d9cd527e4723b8b2ca16c1469e
|
#
df7b87e7 |
|
01-Sep-2017 |
Mark Seaborn <mseaborn@google.com> |
[kernel] Don't take thread_lock for wait_queue_destroy(), mutex_destroy(), etc. The purpose of these operations is to catch bugs: * to check that the object isn't currently in use; * to invalidate the object to prevent later accidental use. Taking thread_lock isn't necessary for that and adds overhead in non-debug builds. If another thread is still using the object, there's a race condition, and taking thread_lock in *_destroy() doesn't prevent the race. Change-Id: Iaab0dea517cfdfa6ce35ac7f4a402fe104e7e60d
|
#
388a7f68 |
|
31-Aug-2017 |
Dave Bort <dbort@google.com> |
[lib/magenta] Rename kernel/lib/magenta to kernel/object TODO: Rename magenta.{cpp,h} and other instances of "magenta" in this module. For MG-1091 "Rename kernel/lib/magenta" Change-Id: I2abc316f543798e00d3a4d1c2c83195da26e6836
|