📄 changelog
字号:
2000-07-31 Jonathan Larmour <jlarmour@redhat.co.uk>
* include/mempolt2.hxx: As per change of 2000-07-04, also delete - left
behind accidentally
2000-07-20 Nick Garnett <nickg@cygnus.co.uk>
* include/mutex.hxx (class Cyg_Mutex): Added get_ceiling()
accessor function.
* src/sched/mlqueue.cxx: Fixed bug in sorted queue code that
resulted in an infinite loop if the thread being inserted is of
lower priority than all threads in the queue. This case is now
detected early.
2000-07-17 Gary Thomas <gthomas@redhat.com>
* tests/kflag1.c (FIRST_THREAD_WAIT_TIME): Parameterize thread
synchronization wait times (for understanding) and adjust for
incredibly slow platforms. [Previous value allowed for the test
to get out of sync because the code ran so slowly]
2000-07-04 Jonathan Larmour <jlarmour@redhat.co.uk>
* cdl/kernel.cdl: Remove all configury related to memory allocators,
including tests. Make CYGFUN_KERNEL_API_C require CYGFUN_MEMALLOC_KAPI
* include/memfixed.hxx, include/mempolt2.inl, include/mempoolt.hxx,
include/mempoolt.inl, include/memvar.hxx, include/mfiximpl.hxx,
include/mfiximpl.inl, include/mvarimpl.hxx, include/mvarimpl.inl,
src/mem/memfixed.cxx, src/mem/memvar.cxx, tests/kmemfix1.c,
tests/kmemvar1.c, tests/memfix1.cxx, tests/memfix2.cxx,
tests/memvar1.cxx, tests/memvar2.cxx:
Move to separate memory allocator package CYGPKG_MEMALLOC
* include/kapi.h, include/kapidata.h, src/common/kapi.cxx:
Remove memory allocator functionality - now implemented in
CYGPKG_MEMALLOC
* tests/dhrystone.c:
Update configuration dependencies for new isoinfra design
* tests/stress_threads.c:
Likewise.
Also fix early termination after DEATH_TIME_LIMIT so that
allocated resources are freed, and so more appropriate
statistics are reported
Also update to use mallinfo() interface to memory allocator
2000-06-23 Hugo Tyson <hmt@cygnus.co.uk>
* include/kapi.h (cyg_scheduler_read_lock): New function, to
return the value of the scheduler lock; this for implementing SPLX
in the network stack.
* src/common/kapi.cxx (cyg_scheduler_read_lock): New function.
2000-06-20 Nick Garnett <nickg@cygnus.co.uk>
* src/sched/mlqueue.cxx (Cyg_ThreadQueue_Implementation::enqueue):
Rewrote code to insert threads into priority sorted queue. The
original code could not cope with a queue all of whose members
were lower priority than the new thread - it looped for ever. Also
provided fast paths for common and easily detected cases such as
adding to a single element queue and adding at the front. By
taking these cases out early, we can also simplify the code to
search the queue.
2000-06-16 Gary Thomas <gthomas@redhat.com>
* cdl/kernel.cdl: Remove exception tests for CMA230 - not supported
by hardware.
2000-06-16 Jesper Skov <jskov@redhat.com>
* src/intr/intr.cxx (chain_isr): Only call default_isr if no isrs
in the chain reacted to the interrupt.
2000-06-15 Nick Garnett <nickg@cygnus.co.uk>
* include/mutex.hxx (class Cyg_Condition_Variable): Added an
inline function, get_queue(), to return a pointer to the
underlying thread queue. To be used mainly for comparing with a
thread's current queue to decide whether it is waiting for a
condition variable.
* include/kapi.h:
* src/common/kapi.cxx:
Changed return type of cyg_semaphore_wait() to match existing
behaviour of Cyg_Counting_Semaphore::wait().
Changed return type of cyg_cond_wait() to match new behaviour of
Cyg_Condition_Variable::wait().
2000-06-09 Nick Garnett <nickg@cygnus.co.uk>
* include/mutex.hxx:
* src/sync/mutex.cxx:
Modified non-timeout condition variable wait() API to return
cyg_bool. A true result indicates that the wait() terminated
normally. A false result indicates that the wait() was terminated
as a result of a release() or destroy operation. For most uses
this distinction is irrelevant, but in some situations it is a
useful bit of information to have.
Also modified timeout condition variable wait to reacquire the
mutex under all circumstances. This is the correct and consistent
thing to do.
2000-06-08 Jesper Skov <jskov@redhat.com>
* src/debug/dbg-thread-demux.c: Use generic HAL feature to allow
ROM/RAM intercalling.
2000-06-06 Jesper Skov <jskov@redhat.com>
* tests/kcache1.c (entry0): Skip invalidate tests on TX49. Too slow.
2000-05-30 Gary Thomas <gthomas@redhat.com>
* tests/dhrystone.c: Increase number of test loops for faster
StrongARM platforms.
2000-05-22 Jonathan Larmour <jlarmour@redhat.co.uk>
* cdl/scheduler.cdl (CYGIMP_KERNEL_SCHED_SORTED_QUEUES): Disable by
default
* src/sched/mlqueue.cxx (enqueue): Add to end of thread queue even
when not priority ordered
2000-05-20 Jonathan Larmour <jlarmour@redhat.co.uk>
* include/mqueue.hxx, include/mqueue.inl:
Add POSIX-style message queue implementation
* cdl/kernel.cdl: Add mqueue1 test
* cdl/scheduler.cdl: Add new CYGIMP_KERNEL_SCHED_SORTED_QUEUES option
* include/sema.hxx: Need thread.inl header, not just thread.hxx
Make Cyg_Counting_Semaphore::peek() const since it is
* src/sync/cnt_sem.cxx, src/sync/cnt_sem2.cxx, include/sema2.hxx:
Make Cyg_Counting_Semaphore{2}::peek() const since it is
* include/thread.hxx: don't want Cyg_Thread_queue::empty() to be marked
inline in the class def, otherwise we get warnings elsewhere
* include/mlqueue.hxx (Cyg_ThreadQueue_Implementation):
Add set_thread_queue private method
Add derived class Cyg_SchedulerThreadQueue_Implementation, and
make scheduler implementation use it instead of
Cyg_ThreadQueue_Implementation
* src/mlqueue.cxx: Fix typo
Support CYGIMP_KERNEL_SCHED_SORTED_QUEUES, i.e. allow insertion
into thread queue in order of thread priority, with oldest at the
front
(Cyg_ThreadQueue_Implementation::set_thread_queue): Add
(Cyg_SchedulerThreadQueue_Implementation::enqueue): Add, like old
one, except make it FIFO instead of LIFO by inserting at end of queue
2000-05-16 Jesper Skov <jskov@redhat.com>
* tests/dhrystone.c: More loops on the TX49
2000-05-15 Jonathan Larmour <jlarmour@redhat.co.uk>
* cdl/counters.cdl (CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY):
Default to CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY
2000-05-04 Jonathan Larmour <jlarmour@redhat.co.uk>
* include/instrmnt.h: Remove all CYG_UNUSED_PARAMs as they could
cause problems when used with volatile arguments
* src/intr/intr.cxx: Use CYG_UNUSED_PARAM to silence warning that
appears because of the above change.
2000-05-02 Gary Thomas <gthomas@redhat.com>
* tests/kintr0.c:
* tests/intr0.cxx: Correct test for cases when VSR_MIN or
ISR_MIN are not zero (bad assumption).
2000-05-02 Jonathan Larmour <jlarmour@redhat.co.uk>
* cdl/thread.cdl (CYGNUM_KERNEL_THREADS_DATA_LIBC): Don't need libc
slot. Replace with CYGNUM_KERNEL_THREADS_DATA_ERRNO slot instead.
2000-04-28 Nick Garnett <nickg@cygnus.co.uk>
* src/sched/sched.cxx (unlock_inner):
A significant change to the behaviour of this function. The
new_lock argument contains the value that the scheduler lock
should have after this function has completed. If it is zero then
the lock is being released and some extra work (running ASRs,
checking for DSRs) is done before returning. If it is non-zero
then it must equal the current value of the lock, and is used to
indicate that we want to reacquire the scheduler lock before
returning. This latter option only makes any sense if the current
thread is no longer runnable, otherwise this function will do
nothing.
The result of this is that where we used to "blip" the scheduler
lock to force a sleep, we now call reschedule(), which calls
unlock_inner() with the current sched_lock value. The important
difference is that there is not now the brief window between the
calls where the lock is unclaimed. It also prevents ASRs being run
at inopportune moments. In future this will also allow us to force
threads to sleep even when they are deeply nested in the scheduler
lock.
* include/mutex.hxx:
Added Cyg_Mutex::get_owner() to return pointer to owning thread.
* include/sched.hxx:
* include/sched.inl:
Added new_lock argument to unlock_inner(), added reschedule().
Made set_asr_inhibit() and clear_asr_inhibit() available even when
ASRs are disabled.
* include/mboxt.inl:
* src/sync/bin_sem.cxx:
* src/sync/cnt_sem.cxx:
* src/sync/flag.cxx:
* src/sync/mutex.cxx:
Converted instances of "blipping" the scheduler lock into calls to
Cyg_Scheduler::reschedule(), which is better behaved. Some calls
to set_asr_inhibit() and clear_asr_inhibit() also added in various
places.
2000-04-26 Jesper Skov <jskov@redhat.com>
* tests/kcache1.c: Also to flush testing with unified caches.
2000-04-26 Jesper Skov <jskov@redhat.com>
* tests/clockcnv.cxx:
* tests/dhrystone.c:
Renamed 850 HAL package.
2000-04-25 Jesper Skov <jskov@redhat.com>
* tests/kcache1.c: Fixed cache check to also look for unified
caches.
2000-04-19 Jesper Skov <jskov@cygnus.co.uk>
* tests/clockcnv.cxx:
* tests/dhrystone.c:
Only a few laps around the block on the v850...
2000-04-13 Nick Garnett <nickg@cygnus.co.uk>
* include/clock.hxx:
* src/common/clock.cxx:
Added Cyg_Alarm::get_times() member function to allow reading of
trigger and interval values from an alarm.
2000-04-12 Nick Garnett <nickg@cygnus.co.uk>
* include/sched.hxx:
* src/sched/sched.cxx:
Added ASR support.
* include/thread.hxx:
Made Cyg_ThreadQueue::empty() an inline in class definition.
* src/common/thread.cxx:
Added CYG_REPORT_FUNCTION() to Cyg_Thread::exit().
* include/kapidata.h:
Brought thread structures up to date with kernel objects.
* cdl/thread.cdl:
* cdl/scheduler.cdl:
Added ASR configuration, minor tidies.
2000-04-12 Gary Thomas <gthomas@redhat.com>
* src/common/kapi.cxx (cyg_scheduler_safe_lock):
* include/kapi.h: Add 'cyg_scheduler_safe_lock()' function.
2000-04-12 Jesper Skov <jskov@redhat.com>
* cdl/interrupts.cdl:
* cdl/scheduler.cdl:
* cdl/counters.cdl:
Don't let interfaces define anything.
2000-04-07 Nick Garnett <nickg@cygnus.co.uk>
* include/sched.hxx:
* include/thread.inl:
* src/sync/mutex.cxx:
* src/sched/sched.cxx:
* src/common/thread.cxx:
General reorganization of priority inversion protocol support,
addition of priority ceiling protocol.
* include/mlqueue.hxx:
* src/sched/mlqueue.cxx:
Added timeslicing enable support.
* cdl/thread.cdl:
* cdl/synch.cdl:
Reorganized priority inversion protocol configuration to permit
different protocols and dynamic choice. Added configuration for
condition variables to use a user-specified mutex.
* cdl/scheduler.cdl:
Added dynamic timeslicing enable option.
* include/kapidata.h:
Adjusted to match changes in other header files.
* tests/mutex3.cxx:
* tests/sync3.cxx:
Modified these tests to match new priority inversion protocols
configuration options.
2000-03-28 John Dallaway <jld@cygnus.co.uk>
* cdl/counters.cdl,
cdl/interrupts.cdl,
cdl/kernel.cdl,
cdl/scheduler.cdl,
cdl/synch.cdl,
cdl/thread.cdl:
Adjust documentation URLs.
2000-03-27 Gary Thomas <gthomas@redhat.com>
* tests/except1.cxx:
* tests/kexcept1.c: Avoid trying to generate data access errors
on platforms that don't support them.
* tests/kcache1.c: Ignore test if no [data] caches defined.
* tests/stress_threads.c: Infer minimal configuration for platforms
with small amount of memory (as opposed to platform special cases).
2000-03-27 Jesper Skov <jskov@redhat.com>
* src/sync/mutex.cxx:
* src/sched/sched.cxx:
* src/common/thread.cxx:
* src/common/clock.cxx:
Use cyg_bool instead of bool for check_this().
* tests/dhrystone.c: Requires CYGPKG_LIBC_MALLOC
2000-03-07 Jesper Skov <jskov@redhat.com>
* tests/mutex3.cxx: Minor tweak from Hugo to allow reduced runtime
on sims.
2000-02-29 Jonathan Larmour <jlarmour@redhat.co.uk>
* src/debug/dbg-thread-demux.c:
CYG_HAL_SPARCLITE_SLEB -> CYGPKG_HAL_SPARCLITE_SLEB
Also fix a comment typo
2000-02-29 Jesper Skov <jskov@redhat.com>
* tests/kcache1.c: Don't run last part of test on MIPS sim - it's
very slow.
20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -