tree 8f9e059401306abda183dfc60e8482b1e5bf2fd0
parent d479eceac91d8fa131723872d2c2cb6d95b57c6c
author Sooraj Puthoor <Sooraj.Puthoor@amd.com> 1518336300 -0500
committer gauravjain14 <gjain6@wisc.edu> 1575588023 -0600

hsa: enable interruptible hsa signal support

Event creation and management support from emulated drivers is required to
support interruptible signals in HSA and this support was not available. This
changeset adds the event creation and management support in the emulated
driver.  With this patch, each interruptible signal created by the HSA runtime
is associated with a signal event. The HSA runtime can then put a thread
waiting on a signal condition to sleep asking the driver to monitor the event
associated with that signal. If the signal is modified by the GPU, the
dispatcher notifies the driver about signal value change.  If the modifier is a
CPU thread, the thread will have to make HSA API calls to modify the signal and
these API calls will notify the driver about signal value change. Once the
driver is notified about a change in the signal value, the driver checks to see
if any thread is sleeping on that signal and wake up the sleeping thread
associated with that event. The driver has also implemented the time_out wakeup
that can wake up the thread after a certain time period has expired. This
is also true for barrier packets. This changeset also fixes a bug in the mmap
syscall.

Each signal has an event address in a kernel managed and allocated  event page
that can be used as a mailbox pointer to notify an event. However, this feature
used by non-CPU agents to communicate with the driver is not implemented by
this changeset because the non-CPU HSA agents in our model can directly
communicate with driver in our implementation. Having said that, adding that
feature should be trivial because the event address and event pages are
correctly setup by this changeset and just adding the event page's virtual
address to our PIO doorbell interface in the page tables and registering that
pio address to the driver should be sufficient. Managing mailbox pointer for an
event is based on event ID and using this event ID as an index into event page,
this changeset already provides a unique mailbox pointer for each event.

Change-Id: Ic62794076ddd47526b1f952fdb4c1bad632bdd2e
