History log of /fuchsia/zircon/kernel/object/diagnostics.cpp
Revision Date Author Comments
# 229dcfe9 30-Aug-2018 Mohan Srinivasan <srmohan@google.com>

[kernel][vm] Add ZX_INFO_VMO to zx_object_get_info.

Adds ZX_INFO_VMO option to zx_object_get_info(). Returning back
the various vmo attributes.

ZX-2327.

Test: Added a unit test to query vmo attributes with ZX_INFO_VMO
to the vmo-test.

Change-Id: Ic16452aea3b71061b21141fa5c7a17b5a1f277ff


# 989ee4e8 13-Jun-2018 David Moore <davemoore@google.com>

[syscalls] Change vmar_... calls

- Create zx_vm_option_t type
- Change ZX_VM_FLAG_... to ZX_VM_... and make them new type.
- Change int32_t flags parameters to zx_vm_option_t options
- Make the options parameter be second.

- Modify vmar_..._old functions to keep other repos working.
Once they've all been updated these functions will go away.

ZX-2264
Test:CQ

Change-Id: I1faf4cc4e1e4dabf3d8ef680e398d83a545b0f09


# 048b4b3c 17-Aug-2018 Nick Maniscalco <maniscalco@google.com>

[kernel][heap] Don't use heap for thread stacks

Kernel stacks are now allocated by vm_allocate_kstack.

Thread creation no longer allows you to bring your own
stack. thread_create and thread_create_etc now always create a stack
of size DEFAULT_STACK_SIZE.

Remove THREAD_STACK_BOUNDS_CHECK feature as it has been subsumed by
guard pages provided by vm_allocate_kstack.

Test: verified no leaks using "k vmm kaspaces" and "k thread_tests"

ZX-2509 #done

Change-Id: I8dbde5c8a6852775b9796e0c7f963289291822b2


# 4c1750f1 11-Jun-2018 George Kulakowski <kulakowski@google.com>

[jobs] Remove unused ZX_PROP_JOB_IMPORTANCE property

Change-Id: Ice16037ee587f41f51c6e69e6986f98bf6ca3875


# bc7af9ec 11-Jun-2018 Adam Barth <abarth@chromium.org>

[zircon] Normal spelling of EVENTPAIR

Previously, we had EPAIR, EVPAIR, and EVENT_PAIR. Now we just use
EVENTPAIR, to match the "eventpair" noun in the syscalls.

Change-Id: Id5b3b33aca02921980022e3d69acae40aaab9eae


# 13d4945c 23-May-2018 Carlos Pizano <cpu@google.com>

[zircon][ports] Constrains per port packet count

Currently a single bad actor can eat the entire packet arena
allocation and thusly topple the entire system.

This change mitigates this with a max of 2K packets in a
single port. A better change that involves job policy will
arrive at some point.

Additonally
- Better comments in some places
- Remove the "k zx ppi" debug command
- Add the new k counters way
- Add a test

ZX-2166 #comment progress

Change-Id: I47dbc100812f32c8c0568178670082d06c4eb35e


# 257f166f 20-Apr-2018 George Kulakowski <kulakowski@google.com>

[kernel][ps] Make the table robust to handle type additions

Change-Id: I2b0440db1f5441d62b119857c232317f04794d5e


# a9c6d61a 19-Apr-2018 George Kulakowski <kulakowski@google.com>

[diagnostics] Fix `zx ps` output

- add #?? to the end of the list
- add suspend tokens into the grab bag count

Change-Id: Ifa5f2f90c442d07ab9cd952b76309414170ac931


# 79859a72 23-Feb-2018 Brett Wilson <brettw@chromium.org>

[threads] Add a token to suspend threads.

Suspending a thread will will return a handle to a token that allows resuming
that thread exactly once. This ensures that different clients suspending and
resuming threads don't stomp on each other's state.

Currently this is implemented as a separate API call to facilitate landing.
In the future task_suspend/resume will use the new signature and the *_token
versions will be deleted.

Refcounting is added on ThreadDispatcher for suspend/resume calls. This
will affect the legacy suspend/resume calls.

ZX-1072

Change-Id: I9ecc63409e2e7dcea733f3ec58db50c1e8b0210b


# 07ebf014 16-Apr-2018 George Kulakowski <kulakowski@google.com>

[kernel][ps] List all handle types in one of the ps columns

Change-Id: I633ef56d09384d203258ae6ad93dd92ee273566a


# 286261a3 14-Mar-2018 Todd Eisenberger <teisenbe@google.com>

[syscalls][bti] Introduce Pinned Memory Tokens

This introduces two system calls:
1) zx_bti_pin_new: This will replace zx_bti_pin (and be renamed to
zx_bti_pin). It is identical to zx_bti_pin, except it additionally
returns a handle to a new type of object, a Pinned Memory Token.
When this object is destroyed using zx_pmt_unpin(), the memory
pinned by zx_bti_pin_new() is unpinned.
2) zx_pmt_unpin: This will replace zx_bti_unpin. In the current
implementation, it is no different than zx_handle_close. However, in
a subsequent diff it will be used to create a quarantine for DMA
targets in the event of driver process crash.

ZX-1936 #comment Introduce the new syscalls

Change-Id: I39d9bd8ce3582cd54b323246df286bba03a54a1c


# b4756f46 14-Mar-2018 Carlos Pizano <cpu@google.com>

[zircon] syscall boilerplate for profile

Introduces the two new syscalls
1- creates a profile object
2- set a profile to an existng object (must be a thread atm)

There is no actual meat.

Change-Id: Iebdacc04a6291520678661bda785858ca3815070


# 5f45d5a3 12-Sep-2017 Todd Eisenberger <teisenbe@google.com>

[object][bti] Implement the BusTransactionInitiatorDispatcher

ZX-693

Change-Id: I4b2cecde4bb689c8a68a9f0eb80a5fd23dd917e9


# ac607074 16-Dec-2017 George Kulakowski <kulakowski@google.com>

[diagnostics] Pass const Dispatcher*s to diagnostic code instead of RefPtrs

None of these callers of ForEacHandle need to or should be able to
extend the lifetime of the Dispatchers associated to the handles.

Change-Id: I72d6fdafb9b4e040b37d1d884f7a79820bcbf841


# f27ddf4a 12-Sep-2017 Todd Eisenberger <teisenbe@google.com>

[object][iommu] Implement the IommuDispatcher

ZX-693

Change-Id: I30d91eae7a96ee88c0f865b1e861d3ceb5da47f1


# 3a828bef 06-Dec-2017 Roland McGrath <mcgrathr@google.com>

[kernel][object] Clean up Handle implementation

This moves everything into the Handle class. The code that was in
global functions before is now in class and instance methods, and
there's miscellaneous refactoring to make the code tighter.

Almost all the public API functions now use the HandleOwner smart
pointer type rather than raw Handle* pointers.

The <object/handle_owner.h> header is gone and now HandleOwner is
defined directly in <object/handle.h>, which simplifies things.

Change-Id: I578c948c347e1ffa74c3a254738387303610da79


# 709f0e57 04-Oct-2017 George Kulakowski <kulakowski@google.com>

[user_ptr] Enforce IN/OUT/INOUT semantics

Change-Id: I54e92ed999c1965114aa80aeffe8d0fc16184b40


# ac8e9397 04-Oct-2017 George Kulakowski <kulakowski@google.com>

[kernel][diagnostics] Place diagnostics in a namespace of that name

The namespace 'internal' is typically used for things that either

1. Cannot be in an anonymous namespace, in a header.
2. Implementation details that need to be exposed for e.g. tests or
sibling classes.

Things that are exposed for diagnostics seem to want a similar but
distinct namespace.

Change-Id: I13f26398db1c4fda474bb334f2dc64c1332ab9e9


# cac62e0a 29-Sep-2017 Dave Bort <dbort@google.com>

[kobject] Better state guards on some ProcessDispatcher methods

This would've helped debug the crash in ZX-1166, where a call to
ProcessDispatcher::PageCount() dereferenced a bad pointer during
JobDispatcher::EnumerateChildren(), called by DumpProcessMemoryUsage()
during an out-of-memory event.

While I'm at it, move the method implementations out of diagnostics.cpp;
they no longer need access to static helpers in that file.

Change-Id: Iba6d5fd63ed9d39d72229e89c267e113a88c8cbd


# 068c1329 25-Sep-2017 George Kulakowski <kulakowski@google.com>

[kernel][time] Prefer ZX_SEC etc. to LK_SEC

Change-Id: Ia5346ed3ac45a1fcf26d392756ebf68bc86670fc


# d8be3d05 18-Sep-2017 George Kulakowski <kulakowski@google.com>

[kernel][diagnostics] Add a port packet allocation count

Change-Id: I0f9a7f91cf863624dab366f4f5a6ad3205f8dfe7


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# e892dc21 06-Sep-2017 Dave Bort <dbort@google.com>

[libobject] Remove the remaining "magenta" strings from kernel/object

* Comment tweaks
* magenta_thread_process_name -> get_user_thread_process_name
* Made its user_thread* param const as well, along with
ThreadDispatcher::process().

Remaining "magenta" instances refer to public/magenta or to the name of
the project, not to the old libmagenta.

Change-Id: Idf192c92e559c354a823d35b1f641b80caef8d7f


# 59e644b1 07-Sep-2017 George Kulakowski <kulakowski@google.com>

[zircon][mxtl->fbl] Rename mxtl to fbl

Change-Id: Ie21b6498e1bfb0a7fa0315e40b9e5c3ee78646be


# ea31f442 01-Sep-2017 Dave Bort <dbort@google.com>

[libobject] Split magenta.h handle fns into handles.h

Change-Id: Ic1ad6964128d34c206df3f3f325ed6c115ec5e0e


# 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