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

[Minios-devel] [UNIKRAFT PATCH v2 0/8] Extend scheduling API


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Thu, 10 Jan 2019 17:22:04 +0200
  • Cc: felipe.huici@xxxxxxxxx, Florian.Schmidt@xxxxxxxxx, simon.kuenzer@xxxxxxxxx, yuri.volchkov@xxxxxxxxx
  • Delivery-date: Thu, 10 Jan 2019 15:22:22 +0000
  • Ironport-phdr: 9a23:VECQ7REac1ht6HJeY5Jt6p1GYnF86YWxBRYc798ds5kLTJ7yrsywAkXT6L1XgUPTWs2DsrQY07qQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDmwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VDK/5KlpVRDokj8KOT4n/m/KhMJ+j6VVrQm9qxBj2YPYfJuYOOZicq7bYNgURXBBXsFUVyFZHI68aJAPD/YAPeZesoLzoUYOrQOjBQKxA+7g1jhIhmTq3a071eQtCwXG3BE4H9ITq3nbsM71OL0KUeCo16bE1y/Db/RP1Dr79YPGcQghrOmRUb9/bMbd00oiGgPfglmOt4DoPSmZ2+oVv2SG4OdsSPijhm0npg1rvDSiyMkhhpPUio8a1FzJ8zhyzpwvKt2iUkF7ZMapEJ5Xty6HKYR7WtgiQ2R0uCYizb0GpIK7cDAKyJs5wx7fbOSKc5aN4h35VeaRJS10i25+eL6lnxay7FOvxvfmVsmzyFpKryxFncfQtn0VyhDe5dWLRuF+80qhwzqDyR7f5+NeLU06jabbLoQuwr80lpodq0TDGSr2lV3qg6+RbUUk5umo6+L9brXiu5+cL5J0hxriPaQ1gMC/Gfk4PRMUU2iB/uSwzKfj8lHhQLVWkv02lbHUsJXbJcQdp665BBRV3p8+5BmhETepztAYkGIDLFJEYxKHk5PpN0vBIf/mC/ezmVOskC1kx/reJL3uHo3NLmTfkLfmZbtz60pcyA0pzdBe/Z1UDKsNLu/vVU/xsdzYDwI2MxCvzubhFtpyyoceVniUDaODLqzSrEeC5vgzLOmUeI8VpDH9JuAr5/HwiX85mEcdcrez0ZsXdXC4H+hpI0SCbHrqnNgODWMKsRAlQ+DwllKCTCZZZ2yuUKIk+jE7FIWmAJ/YRoCshbyB2yG7EodVZmBbFF+MF3bpeJueW/oXbiKdPNNukjgeWre6UYMuywyuvhfgy7V7NurU5jEYtZX72dl1+u3TjxAy+SZqD8Sa12GCU2F0nmAPRz8ox61/p1JyxUuH0adimPNUD8Jc5+4aGjs9YJvdye19EJX+VxzMev+NSU26WZO2DDd3Scg+kPEUZEMoMNK5khHFlw63G6Jdw7eMH4A19OTYwmDsD81mjW7b3u87iA91EYN0KWS6i/snpEDoDInTnhDBmg==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

The current patch series introduce scheduling API extensions such as 
handling thread attributes and thread resources cleanup. The goal is
to extend the API so that it can be easier to integrate with pthread
API.

Changes since v1:
- Update exported symbols file
- Check if time slice is greater than timer tick
- Add default values for priority and time slice attributes

Costin Lupu (8):
  arch/*: Add STACK_MASK_TOP bit mask
  lib/uksched: Add function for allocating scheduler common info
  lib/uksched: Introduce thread attributes
  lib/uksched: Introduce thread info
  lib/uksched: Add support for waiting threads
  lib/uksched: Revisit thread exiting logic
  lib/uksched: Add function for killing threads
  lib/uksched: Minor refinements

 include/uk/arch/limits.h              |   2 +
 lib/ukdebug/print.c                   |   2 +-
 lib/uksched/Makefile.uk               |   2 +
 lib/uksched/exportsyms.uk             |  16 ++++
 lib/uksched/include/uk/_thread_info.h |  57 ++++++++++++++
 lib/uksched/include/uk/sched.h        |  98 ++++++++++++++++++++----
 lib/uksched/include/uk/thread.h       |  33 ++++++--
 lib/uksched/include/uk/thread_attr.h  |  81 ++++++++++++++++++++
 lib/uksched/sched.c                   |  41 ++++++++--
 lib/uksched/thread.c                  |  97 +++++++++++++++++++++++-
 lib/uksched/thread_attr.c             | 139 ++++++++++++++++++++++++++++++++++
 lib/uksched/thread_info.c             |  79 +++++++++++++++++++
 lib/ukschedcoop/Config.uk             |   2 -
 lib/ukschedcoop/schedcoop.c           |  62 +++++++--------
 plat/xen/x86/arch_events.c            |   2 +-
 plat/xen/x86/entry64.S                |   2 +-
 plat/xen/xenbus/xs_comms.c            |   2 +-
 17 files changed, 650 insertions(+), 67 deletions(-)
 create mode 100644 lib/uksched/include/uk/_thread_info.h
 create mode 100644 lib/uksched/include/uk/thread_attr.h
 create mode 100644 lib/uksched/thread_attr.c
 create mode 100644 lib/uksched/thread_info.c

-- 
2.11.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.