bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PATCH: Fix gsync module for remote tasks


From: Agustina Arzille
Subject: PATCH: Fix gsync module for remote tasks
Date: Wed, 18 Jan 2017 16:48:24 -0300

Hello, everyone.

Here's a patch that fixes gsync so that it doesn't panic when used by remote tasks.

Noteworthy changes:

- The type 'gsync_key' has been made into a union of several types in
  order to clearly denote what kind of address is being used.

- Sleeping locks are now being used to serialize access to gsync's buckets.
  The implementation can be found in the files kern/kmutex.{h,c}
  Note that it's a basic mutex; it doesn't support readers and writers
  separatedly (it's fully interruptible, though).

- The base function 'thread_wakeup_prim' was slightly modified so that
it returns a boolean value, indicating whether any thread was scheduled
  to run or not. Callers are free to ignore its return value.

- An utility macro was added so that the reference count for VM objects
  can be incremented while holding the interlock.

- Most importantly, the gsync module has been reworked so that it now works
  with remote tasks, creating temporary mappings in the kernel's map for
  such special cases.

Attachment: gsync.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]