diff options
author | Attilio Rao <attilio@FreeBSD.org> | 2010-02-10 16:30:04 +0000 |
---|---|---|
committer | Attilio Rao <attilio@FreeBSD.org> | 2010-02-10 16:30:04 +0000 |
commit | 88cbfa852efff2d919c26a8c2766034afd7c4469 (patch) | |
tree | f95ba7be7f9aaf8413ddc90d313d1b77a5924364 | |
parent | 24e2959e4149f4465dc466deea2425ddfc35e235 (diff) | |
download | src-88cbfa852efff2d919c26a8c2766034afd7c4469.tar.gz src-88cbfa852efff2d919c26a8c2766034afd7c4469.zip |
Add the options DEADLKRES (introducing the deadlock resolver thread) in
the 'debugging' section of any HEAD kernel and enable for the mainstream
ones, excluding the embedded architectures.
It may, of course, enabled on a case-by-case basis.
Sponsored by: Sandvine Incorporated
Requested by: emaste
Discussed with: kib
Notes
Notes:
svn path=/head/; revision=203758
38 files changed, 38 insertions, 0 deletions
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 1876c64a7057..ae617be1495d 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -72,6 +72,7 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/amd64/conf/XENHVM b/sys/amd64/conf/XENHVM index 4c1981cf8199..717f7b34ba9c 100644 --- a/sys/amd64/conf/XENHVM +++ b/sys/amd64/conf/XENHVM @@ -70,6 +70,7 @@ options NO_ADAPTIVE_RWLOCKS options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/AVILA b/sys/arm/conf/AVILA index b66565976480..f9014edd1a9c 100644 --- a/sys/arm/conf/AVILA +++ b/sys/arm/conf/AVILA @@ -39,6 +39,7 @@ options DEVICE_POLLING options KDB #options GDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/BWCT b/sys/arm/conf/BWCT index b92e626fb56d..f25a3be47710 100644 --- a/sys/arm/conf/BWCT +++ b/sys/arm/conf/BWCT @@ -79,6 +79,7 @@ device mii device rlswitch # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/CAMBRIA b/sys/arm/conf/CAMBRIA index 4de9b2c9949f..7bd7d499cd52 100644 --- a/sys/arm/conf/CAMBRIA +++ b/sys/arm/conf/CAMBRIA @@ -39,6 +39,7 @@ options DEVICE_POLLING options KDB #options GDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/CNS11XXNAS b/sys/arm/conf/CNS11XXNAS index 29791a3b9e0c..7aa4fbbfe888 100644 --- a/sys/arm/conf/CNS11XXNAS +++ b/sys/arm/conf/CNS11XXNAS @@ -39,6 +39,7 @@ options DEVICE_POLLING options KDB #options GDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/CRB b/sys/arm/conf/CRB index f865473491db..3598b443c825 100644 --- a/sys/arm/conf/CRB +++ b/sys/arm/conf/CRB @@ -93,6 +93,7 @@ device pty # Debugging for use in -current options KDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/DB-78XXX b/sys/arm/conf/DB-78XXX index afa6ec9a97a6..939ae2b96c51 100644 --- a/sys/arm/conf/DB-78XXX +++ b/sys/arm/conf/DB-78XXX @@ -39,6 +39,7 @@ options NO_SWAPPING # Debugging options ALT_BREAK_TO_DEBUGGER options DDB +#options DEADLKRES #Enable the deadlock resolver options DIAGNOSTIC #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS diff --git a/sys/arm/conf/DB-88F5XXX b/sys/arm/conf/DB-88F5XXX index 1297229a2aaa..cfbdbb457517 100644 --- a/sys/arm/conf/DB-88F5XXX +++ b/sys/arm/conf/DB-88F5XXX @@ -39,6 +39,7 @@ options NO_SWAPPING # Debugging options ALT_BREAK_TO_DEBUGGER options DDB +#options DEADLKRES #Enable the deadlock resolver options DIAGNOSTIC #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS diff --git a/sys/arm/conf/DB-88F6XXX b/sys/arm/conf/DB-88F6XXX index cbf7abd296c2..16ff7d310707 100644 --- a/sys/arm/conf/DB-88F6XXX +++ b/sys/arm/conf/DB-88F6XXX @@ -39,6 +39,7 @@ options NO_SWAPPING # Debugging options ALT_BREAK_TO_DEBUGGER options DDB +#options DEADLKRES #Enable the deadlock resolver options DIAGNOSTIC #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS diff --git a/sys/arm/conf/EP80219 b/sys/arm/conf/EP80219 index 4efc432b867e..4b365900f260 100644 --- a/sys/arm/conf/EP80219 +++ b/sys/arm/conf/EP80219 @@ -89,6 +89,7 @@ device dma # I80321 DMA Controller # Debugging for use in -current options KDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/GUMSTIX b/sys/arm/conf/GUMSTIX index a122a5eac920..4ed8df9f6775 100644 --- a/sys/arm/conf/GUMSTIX +++ b/sys/arm/conf/GUMSTIX @@ -80,6 +80,7 @@ device pty # Debugging for use in -current options KDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/HL200 b/sys/arm/conf/HL200 index 8d0f4c100a42..c4ec835f882c 100644 --- a/sys/arm/conf/HL200 +++ b/sys/arm/conf/HL200 @@ -74,6 +74,7 @@ device mii device lxtphy # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/IQ31244 b/sys/arm/conf/IQ31244 index 46217563eb2a..2cb7a28253f4 100644 --- a/sys/arm/conf/IQ31244 +++ b/sys/arm/conf/IQ31244 @@ -94,6 +94,7 @@ device "iq31244_7seg" # IQ31244 7 seg # Debugging for use in -current options KDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/KB920X b/sys/arm/conf/KB920X index a6d6ef255a04..adff9fc56814 100644 --- a/sys/arm/conf/KB920X +++ b/sys/arm/conf/KB920X @@ -75,6 +75,7 @@ device mii device lxtphy # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/NSLU b/sys/arm/conf/NSLU index f14a77969197..4cd031562e7d 100644 --- a/sys/arm/conf/NSLU +++ b/sys/arm/conf/NSLU @@ -44,6 +44,7 @@ options DEVICE_POLLING options KDB #options GDB options DDB #Enable the kernel debugger +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/SIMICS b/sys/arm/conf/SIMICS index d4f6c143e467..229c60f9cdea 100644 --- a/sys/arm/conf/SIMICS +++ b/sys/arm/conf/SIMICS @@ -61,6 +61,7 @@ device rl device uart # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/arm/conf/SKYEYE b/sys/arm/conf/SKYEYE index 10aedd539407..51ad63aedf28 100644 --- a/sys/arm/conf/SKYEYE +++ b/sys/arm/conf/SKYEYE @@ -68,6 +68,7 @@ device uart # output. Adds ~215k to driver. # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index eebd7372bf47..00785391f186 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -72,6 +72,7 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/i386/conf/XEN b/sys/i386/conf/XEN index 6c949663f82c..de704e5112ff 100644 --- a/sys/i386/conf/XEN +++ b/sys/i386/conf/XEN @@ -49,6 +49,7 @@ options AUDIT # Security event auditing options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/ia64/conf/GENERIC b/sys/ia64/conf/GENERIC index d7b23a08cf42..c1501d9608c6 100644 --- a/sys/ia64/conf/GENERIC +++ b/sys/ia64/conf/GENERIC @@ -31,6 +31,7 @@ options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options DDB # Support DDB +options DEADLKRES # Enable the deadlock resolver options FFS # Berkeley Fast Filesystem options GDB # Support remote GDB options GEOM_LABEL # Provides labelization diff --git a/sys/mips/conf/ADM5120 b/sys/mips/conf/ADM5120 index fc6b679201a9..b0cf61466724 100644 --- a/sys/mips/conf/ADM5120 +++ b/sys/mips/conf/ADM5120 @@ -55,6 +55,7 @@ options BOOTP_COMPAT options ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\" # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/ALCHEMY b/sys/mips/conf/ALCHEMY index b8b64703415b..ccef37a680c9 100644 --- a/sys/mips/conf/ALCHEMY +++ b/sys/mips/conf/ALCHEMY @@ -55,6 +55,7 @@ options ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\" # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/AR71XX b/sys/mips/conf/AR71XX index 6760e1845a3e..30126bf8040e 100644 --- a/sys/mips/conf/AR71XX +++ b/sys/mips/conf/AR71XX @@ -29,6 +29,7 @@ options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions # options NFS_LEGACYRPC # Debugging for use in -current +# options DEADLKRES # options INVARIANTS # options INVARIANT_SUPPORT # options WITNESS diff --git a/sys/mips/conf/IDT b/sys/mips/conf/IDT index 3082d1c1a650..116c249cb6a6 100644 --- a/sys/mips/conf/IDT +++ b/sys/mips/conf/IDT @@ -27,6 +27,7 @@ options BOOTP_WIRED_TO=kr0 options BOOTP_COMPAT # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS diff --git a/sys/mips/conf/MALTA b/sys/mips/conf/MALTA index 1d65cfc3a08d..06fa2b03d00e 100644 --- a/sys/mips/conf/MALTA +++ b/sys/mips/conf/MALTA @@ -58,6 +58,7 @@ options ROOTDEVNAME=\"ufs:ad0s1a\" # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/MALTA64 b/sys/mips/conf/MALTA64 index 756dc76dbf83..4b11eb0f099b 100644 --- a/sys/mips/conf/MALTA64 +++ b/sys/mips/conf/MALTA64 @@ -59,6 +59,7 @@ options ROOTDEVNAME=\"ufs:ad0s1a\" # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/OCTEON1 b/sys/mips/conf/OCTEON1 index f313347c585e..6dfdc7c86cd9 100644 --- a/sys/mips/conf/OCTEON1 +++ b/sys/mips/conf/OCTEON1 @@ -67,6 +67,7 @@ options UFS_DIRHASH #Improve performance on big directories # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/OCTEON1-32 b/sys/mips/conf/OCTEON1-32 index 855640369da8..2197d82395aa 100644 --- a/sys/mips/conf/OCTEON1-32 +++ b/sys/mips/conf/OCTEON1-32 @@ -56,6 +56,7 @@ options UFS_DIRHASH #Improve performance on big directories # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/QEMU b/sys/mips/conf/QEMU index 504284893101..30885247752e 100644 --- a/sys/mips/conf/QEMU +++ b/sys/mips/conf/QEMU @@ -43,6 +43,7 @@ options PSEUDOFS #Pseudo-filesystem framework options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions # Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/mips/conf/SENTRY5 b/sys/mips/conf/SENTRY5 index c035350cb15e..8579c4cb9e03 100644 --- a/sys/mips/conf/SENTRY5 +++ b/sys/mips/conf/SENTRY5 @@ -56,6 +56,7 @@ options PSEUDOFS #Pseudo-filesystem framework options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions # Debugging for use in -current +#options DEADLKRES options INVARIANTS options INVARIANT_SUPPORT diff --git a/sys/mips/conf/SWARM b/sys/mips/conf/SWARM index ff855e5fdb0b..6ce85a475cde 100644 --- a/sys/mips/conf/SWARM +++ b/sys/mips/conf/SWARM @@ -50,6 +50,7 @@ options PSEUDOFS #Pseudo-filesystem framework options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions # Debugging for use in -current +#options DEADLKRES options INVARIANTS options INVARIANT_SUPPORT options WITNESS diff --git a/sys/mips/conf/XLR b/sys/mips/conf/XLR index 5450db1a7e61..d7c54bd964f5 100644 --- a/sys/mips/conf/XLR +++ b/sys/mips/conf/XLR @@ -96,6 +96,7 @@ options DDB options KDB options GDB options ALT_BREAK_TO_DEBUGGER +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/pc98/conf/GENERIC b/sys/pc98/conf/GENERIC index 6787d8753c69..5c2972727d40 100644 --- a/sys/pc98/conf/GENERIC +++ b/sys/pc98/conf/GENERIC @@ -72,6 +72,7 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/powerpc/conf/GENERIC b/sys/powerpc/conf/GENERIC index 4fda8cb0a8f6..03f3fec42b78 100644 --- a/sys/powerpc/conf/GENERIC +++ b/sys/powerpc/conf/GENERIC @@ -68,6 +68,7 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel # Debugging for use in -current options KDB #Enable the kernel debugger options DDB #Support DDB +#options DEADLKRES #Enable the deadlock resolver options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS options WITNESS #Enable checks to detect deadlocks and cycles diff --git a/sys/powerpc/conf/MPC85XX b/sys/powerpc/conf/MPC85XX index 8e6badc78b72..2164f43069d7 100644 --- a/sys/powerpc/conf/MPC85XX +++ b/sys/powerpc/conf/MPC85XX @@ -22,6 +22,7 @@ options BOOTP_WIRED_TO=tsec0 options CD9660 options COMPAT_43 options DDB +#options DEADLKRES options DEVICE_POLLING options HZ=1000 #options DIAGNOSTIC diff --git a/sys/sparc64/conf/GENERIC b/sys/sparc64/conf/GENERIC index 87d4e85c2136..1c4d45bef792 100644 --- a/sys/sparc64/conf/GENERIC +++ b/sys/sparc64/conf/GENERIC @@ -69,6 +69,7 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles diff --git a/sys/sun4v/conf/GENERIC b/sys/sun4v/conf/GENERIC index 2ff3fa531194..e0accf1f2592 100644 --- a/sys/sun4v/conf/GENERIC +++ b/sys/sun4v/conf/GENERIC @@ -75,6 +75,7 @@ options DDB # Support DDB. #options TRAP_TRACING # Enable trap tracing. #options TRAP_TRACE_ENTRIES=256 # Trap trace buffer entries. #options GDB # Support remote GDB. +#options DEADLKRES # Enable the deadlock resolver #options INVARIANTS # Enable calls of extra sanity checking #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS # Enable checks to detect deadlocks and cycles |