Esben Haabendal
81758004fd
Improve synchronization of master->domains list
...
Introduce a new lock for synchronization of the master->domains list, and use
that instead of the big master_sem lock, improving real-time performance of
fx. ecrt_domain_process() when EoE thread is being shut down (or other
use-cases where master_sem is held for extended periods).
The following locking order is used:
* master->master_sem
* master->domains_lock
* master->io_sem
* domain->datagram_pairs_lock
Meaning that it is allowed to take domains_lock while holding master_sem, and
it is allowed to hold domains_lock while locking io_sem and
datagram_pairs_lock.
[RV: For now, the lockdep_assert_held() annotations are commented out,
since they don't compile with CONFIG_PROVE_LOCKING and (the default)
--disable-rtmutex.]
2022-09-01 15:38:01 +02:00
Esben Haabendal
2372382259
Acquire master->io_sem lock where needed
...
With this, we should have in place so that master->io_sem is always held when
accessing master->datagram_queue.
Note, the use of master->master_sem in ec_ioctl_send() and
ec_ioctl_receive() were wrong (introduced in commit cef602586c ). The
only thing needing to be synchronized there is the access to
master->datagram_queue, which is protected by master->io_sem.
This corresponds roughly to the fixes for stable-1.5 that are seen in
https://gitlab.com/etherlab.org/ethercat/-/merge_requests/36 .
2022-09-01 15:37:54 +02:00
Florian Pose
8896d3b879
Applied 0020-eoe-ip.patch
2022-06-23 12:39:52 +02:00
Florian Pose
f943348d98
Applied 0019-Support-for-multiple-mailbox-protocols.patch
2022-06-23 11:54:10 +02:00
Florian Pose
9955855f7e
Applied 0016-If-enable-rtmutex-use-rtmutexes-instead-of-semaphore.patch
2022-06-23 11:21:51 +02:00
Florian Pose
667e93284d
Applied 0015-Clear-configuration-on-deactivate-even-if-not-activa.patch
2022-06-23 11:00:45 +02:00
Florian Pose
d09daadfbb
Applied 0013-Do-not-reuse-the-index-of-a-pending-datagram.patch
2022-06-23 10:58:57 +02:00
Florian Pose
225af9f787
Applied 0008-read-reference-slave-clock-64bit-time.patch
2022-06-23 10:45:16 +02:00
Florian Pose
17eddce68d
Applied 0002-Distributed-Clock-fixes-from-Jun-Yuan.patch
2022-06-23 10:12:12 +02:00
Florian Pose
b4f8c0e750
Added 0001-Distributed-Clock-fixes-and-helpers.patch
2022-06-23 10:07:34 +02:00
Florian Pose
ffbb1eed9f
Define set_normal_priority() inside #ifdef EC_EOE. Fixes #12 .
2021-08-31 13:09:09 +02:00
Florian Pose
f2e838a664
Also changed license of gloabl headers to LGPL.
...
Moved definition of EC_SDO_INJECTION_TIMEOUT to master.c.
2021-08-24 17:40:06 +02:00
Nicola Fontana
40bd393ed0
Fix sched_setscheduler undefined on kernel 5.9
...
sched_setscheduler is no more exported:
https://lkml.org/lkml/2020/4/22/1071
2021-08-24 17:15:09 +02:00
Florian Pose
c2abe4d8d3
Fixed missing include for struct sched_param.
2021-08-24 17:13:21 +02:00
Florian Pose
fffbeb4ba5
Added ecrt_master_sync_reference_clock_to() method.
2021-08-24 16:56:23 +02:00
Florian Pose
9d733cb1a9
Renamed app_start_time to dc_ref_time; output via command-line tool.
2021-08-24 16:48:07 +02:00
Florian Pose
ef9517e7c3
Improved buffer overflow messages.
2021-08-24 16:33:05 +02:00
Florian Pose
606000bf40
Support scheduler parameters in kernels >= 4.11.
2021-08-24 16:32:36 +02:00
Florian Pose
1d28eafa1f
Fixed statistics filter initialisation.
2021-08-24 16:29:20 +02:00
Florian Pose
e78d153199
Minor change.
2016-06-22 14:08:34 +02:00
Florian Pose
be5dfb7278
Do not touch AL state of EoE slaves.
2016-05-03 15:14:42 +02:00
Dave Page
45839e8666
16-ethercat-1.5-frame-corruption.patch
...
from ethercat-1.5.0-patches-v2.tar.bz2
by Frank Heckenbach f.heckenbach@ at fh-soft.de
Ref: http://lists.etherlab.org/pipermail/etherlab-dev/2014/000404.html
with some additional edits.
2015-04-14 16:25:44 -04:00
Gavin Lambert
d9a93ffa24
Mark download data as const.
...
Remove redundant code.
[07-sdo-up-download]
2014-05-31 18:08:27 +12:00
Gavin Lambert
1d35113c85
Abort requests started for slave_configs that don't have any actual slaves.
2015-04-14 09:35:15 -04:00
Gavin Lambert
0aaf68055e
Do not force the DC reference clock to OP; if it is not configured it may refuse and flood the logs.
2014-05-31 15:37:33 +12:00
Florian Pose
99418519bd
Reverted default branch to stable-1.5.
2014-11-03 15:20:05 +01:00
Florian Pose
6ee0a18ac7
Fixed reset of allow_scanning flag if ecrt_master_activate() was not called.
2012-01-13 11:27:20 +01:00
Florian Pose
42b1bb1d3f
Copy missing slave_info data in kernel space.
2012-01-10 10:11:20 +01:00
Florian Pose
4aaba1c675
Avoided unused variable warnings.
2012-01-09 17:42:28 +01:00
Florian Pose
4874ad087c
Improved resetting number of responding slaves.
2011-12-09 10:35:23 +01:00
Florian Pose
2d0b832923
Fixed missing initialisation of allow_config flag.
2011-12-09 10:31:29 +01:00
Florian Pose
4a858fc97e
Fixed compiler error in master.c; thanks to Jun Yuan.
2011-12-05 11:29:28 +01:00
Florian Pose
0b32dd07dd
Added ecrt_master_sdo_download_complete() for ad-hoc downloading SDOs (also
...
via the command-line tool).
2011-10-24 10:49:27 +02:00
Florian Pose
4c0e5279e1
Removed allow_config flag and obsolete request to OP.
2011-09-16 14:10:23 +02:00
Florian Pose
e3ac1ec003
Don not copy frame data to datagram memory, if datagram type is write-only.
2011-09-16 12:44:54 +02:00
Florian Pose
f6b4789eca
Fixed compiler error; added SDO debugging.
2011-09-15 16:45:58 +02:00
Florian Pose
8cf159bc08
Implemented ecrt_master_sdo_upload() and ecrt_master_sdo_download() for kernel
...
space.
2011-09-15 15:58:58 +02:00
Florian Pose
699bb79eca
Fixed spacing and added some thoughts about the overlapping PDOs
...
implementation.
2011-08-11 20:44:18 +02:00
Florian Pose
6171cc6e3b
Fixed skipped datagrams output again; added datagram information on skip.
2011-08-01 17:54:56 +02:00
Florian Pose
c57242219f
Minor: Fixed line wraps and spacing.
2011-08-01 17:02:45 +02:00
Florian Pose
e80332d61a
Fixed bug in ec_master_queue_datagram() introduced in c9d32805d984.
2011-07-21 18:25:38 +02:00
Florian Pose
8e5a96aa45
merge.
2011-07-08 15:31:46 +02:00
Florian Pose
ae060ff267
Improved ecrt_master_queue_datagram(); detect skipped datagrams also when
...
already sent.
2011-07-08 14:26:25 +02:00
Andreas Stewering-Bone
f1e2f6d912
Merge
2011-04-13 22:06:28 +02:00
Andreas Stewering-Bone
76ff88c43c
First working RTDM Version,
...
to be reviewed,
further testing and optimation needed
Thanks to Moehwald GmbH B.Benner for Basic Code
2011-03-16 22:12:23 +01:00
Martin Troxler
b65f4f7cde
merged
2011-03-14 16:57:47 +01:00
Martin Troxler
ae09c143c9
Reduced frame size when sending to mailbox, uses 2 datagrams. Enabled with configure option --enable-mboxframesize
2011-03-14 16:55:09 +01:00
Martin Troxler
dda18aa1f6
merged
2011-03-14 11:20:05 +01:00
Martin Troxler
7ddaa2b007
lock io_mutex when unqueueing datagrams; unqueue datagrams from send-receive queue.
2011-01-17 11:09:11 +01:00
Martin Troxler
0f18d720ec
Minor changes (consistent variable naming)
2011-01-14 12:23:00 +01:00