Reviewed-by: Petri Savolainen <petri.savolai...@nokia.com>
Just clean the documentation in patch 3 during merge. + /** Lock group */ + unsigned lock_count; /**< Ordered lock count for this queue */ Should be like this: + /** Ordered lock count for this queue */ + unsigned lock_count; > -----Original Message----- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of > EXT Bill Fischofer > Sent: Wednesday, September 16, 2015 2:52 PM > To: lng-odp@lists.linaro.org > Subject: [lng-odp] [API-NEXT PATCHv3 0/5] Revised Ordered Lock APIs > > Changes in v3: > - Change types of lock_count and lock indices from uint32_t to unsigned > > --- > Changes in v2: > - Incorporate Petri review comments > > --- > Revise the ordered lock APIs per recent ARCH discussions. Ordered locks > are now specified via the new lock_count parameter within the > odp_schedule_param_t section of the odp_queue_param_t passed to > odp_queue_create(). As a result odp_schedule_order_lock_init() is > deprecated and removed. Implementations specify the maximum number > of ordered locks per queue they support via the new config.h entry > ODP_CONFIG_MAX_ORDERED_LOCKS_PER_QUEUE. Implementations SHOULD support > at least one ordered lock and MAY support more than one. > > To query the lock count for an ordered queue the new API > odp_queue_lock_count() > is added. > > odp_schedule_order_lock() and odp_schedule_order_unlock() now take a > single argument: the index [0..odp_queue_lock_count()-1] of the ordered > lock to be locked or unlocked. Ordered locks may only be used once per > event. If processing an event requires multiple ordered criticial > sections, > each should be protected by a separate ordered lock. Trying to obtain > an ordered lock when not running in an ordered context, or referencing > a lock > index that is out of range for that context results in undefined > behavior. > > Note that part 5 of this patch is large because changing the ordered > lock APIs > requires that their linux-generic implementation as well as the > scheduler > validation test be changed simulataneously to preserve incremental > compilability. Part 5 also contains a spurious checkpatch warning > relating > to quoted split strings. This should disappear with the expected > revision of > the ODP checkpatch rules to allow this convention, as previously > agreed. > > Bill Fischofer (5): > api: config: add config option for max ordered locks per queue > api: queue: add odp_queue_lock_count() API > api: schedule: add lock_count to odp_schedule_param_t > api: schedule: remove odp_schedule_order_lock_init() API > api: schedule: revise definition of ordered locks > > include/odp/api/config.h | 5 ++ > include/odp/api/queue.h | 13 +++++ > include/odp/api/schedule.h | 62 ++++++++++---- > ------ > include/odp/api/schedule_types.h | 2 + > .../include/odp/plat/schedule_types.h | 2 - > .../linux-generic/include/odp_buffer_internal.h | 2 +- > .../linux-generic/include/odp_queue_internal.h | 19 ++++--- > platform/linux-generic/odp_queue.c | 66 > ++++++++++++++-------- > platform/linux-generic/odp_schedule.c | 15 +++-- > test/validation/scheduler/scheduler.c | 63 > +++++++++++++++------ > 10 files changed, 159 insertions(+), 90 deletions(-) > > -- > 2.1.4 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp