Commit Graph

118 Commits

Author SHA1 Message Date
Matthias Schoepfer e6d842cc8f master: added 'run_on_cpu' module parameter to bind kthreads to a cpu
When you use isolcpus to isolate a cpu for the realtime task, as well
as assiging all relevant interrupts to this cpu, it makes sense to
also bind the EtherCAT-OP / EtherCAT-IDLE task to this cpu to reduce
the cache misses and avoid data migration between cores. Therefore
a parameter 'run_on_cpu' is added, that takes the cpu number (same as
in isolcpus, not a smp_affinity mask). If unset, will bind to any cpu
and will be migratable.

The reason to put this into the kernel module is, that the thread is
created during runtime, i.e. when the userspace program is starting
the ethercat master. It would be rather hacky, to find the pid of the
EtherCAT-xx thread and migrate it at this point.

Signed-off-by: Matthias Schoepfer <m.schoepfer@rethinkrobotics.com>
2021-09-27 14:56:01 +02:00
Florian Pose eba73fc292 Strictly using KERN_CONT for continued printk() calls to avoid newlines. 2021-09-01 11:00:49 +02:00
Florian Pose f6f5460485 Updated Doxygen documentation. 2013-02-12 15:46:43 +01:00
Florian Pose 3cb0b12899 Added configure option for redundancy (--with-devices). 2012-11-30 20:15:31 +01:00
Florian Pose 1c8790c483 Merged redundancy branch to stable-1.5. 2012-09-06 18:28:57 +02:00
Florian Pose d2c2e3a5a9 Removed whitespace. 2012-07-09 10:05:32 +02:00
Florian Pose 4c3c5c2778 Slave scanning and configuration on all links. 2012-04-06 23:35:05 +02:00
Florian Pose d9f27a2597 Made send_interval variable an unsigned int; fixed format specifiers for
size_t variables.
2010-05-20 12:35:36 +02:00
Florian Pose 62b722ab33 Improved syslog macros. 2010-05-03 18:07:57 +02:00
Florian Pose 6d932e88d5 Devices as array; lock all device modules with module_get(). 2012-01-12 12:14:33 +01:00
Florian Pose 162ba28f35 Renamed main device to ecmX. 2011-11-09 17:06:04 +01:00
Florian Pose ec84b03034 Master accepting two devices. 2011-11-09 12:05:44 +01:00
Florian Pose 9b3fdfb06e Improved comments. 2011-10-28 10:54:39 +02:00
Florian Pose f41dadb84f Multi-master support for command-line tool. The --master option supports
ranges like '1-3,6,7-9'. The ioctl() interface version is checked.
2010-02-24 16:27:11 +01:00
Florian Pose b16ac3ff7a Increased default number of masters to 32. 2010-02-16 18:19:17 +01:00
Florian Pose 344ec90545 Merged changes by Martin Troxler. 2009-12-14 13:25:50 +01:00
Florian Pose 699b184f6f Merged changes from Martin Troxler. 2009-12-14 13:11:36 +01:00
Martin Troxler a864fc8396 ec_print_data: show only the first 128 and the last 128 bytes of a data block 2009-11-30 12:26:24 +01:00
Martin Troxler 0d17968348 Each slave got its own SDO state machine (faster handling of external SDO requests) 2009-11-26 15:33:48 +01:00
Martin Troxler dfeb99b1cb applied komax patch to version r1822
- adapted to 2.6.31 (-rt): init_MUTEX -> sema_init, net_device_ops (Matthias Lüscher)
- 8139too eth driver for 2.6.31 (Matthias Lüscher)
- scan_busy queryable in user mode (ec_master_info_t) (Martin Troxler)
- read alias from register 0x0012 (TODO: reread alias after sii write) (Martin Troxler)
- cancel external SDO/FOE,Reg&SII requests (Martin Troxler)
2009-11-19 14:39:10 +01:00
Florian Pose ed57943fd4 Using snprintf for interface name. 2009-10-28 13:17:08 +01:00
Florian Pose acd5a56616 Improved newlines in debug data output. 2009-06-15 15:29:24 +00:00
Florian Pose 4694cde027 Added debug_level module parameter. debug_level is now unsigned int. 2009-04-17 12:03:12 +00:00
Florian Pose 12c12b1bab Improved and added license headers. 2009-02-24 12:51:39 +00:00
Florian Pose 5d4b915317 merge -c1619 branches/1.4-foe: Implemented going to bootstrap state BOOT. 2009-01-26 13:22:05 +00:00
Florian Pose 723a9d66f4 merge -c1610 branches/stable-1.4: Added missing doxygen docs. 2009-01-26 11:58:35 +00:00
Florian Pose 5ca3d24337 merge -c1603 branches/stable-1.4: Changed licence headers to avoid conflicts with the GPL; restricted licence to GPLv2 only. 2009-01-26 11:16:10 +00:00
Florian Pose 8d46a283f6 Improved error case return codes of many functions. 2008-11-17 17:18:02 +00:00
Florian Pose bdbaf5d078 Created backend versions of all API functions returing a pointer; using
the PTR_ERR()... macros.
2008-11-17 15:04:28 +00:00
Florian Pose f8bff8668f merge -c1522 branches/stable-1.4: Fixed jace in jiffies timeout calculation. 2008-10-17 13:36:43 +00:00
Florian Pose 96d794582e Used ERR_PTR() macro for return value of ecrt_request_master(). 2008-10-01 10:06:51 +00:00
Florian Pose 12d30c487a Added VoE handler. 2008-09-01 14:17:18 +00:00
Florian Pose 6db63d096d Use down_interruptible() wherever possible. 2008-08-01 12:46:26 +00:00
Florian Pose 0ef150c812 Renamed master 'mode' to 'phase'. 2008-06-18 13:33:50 +00:00
Florian Pose dac0f3b575 Replaced include sysfs->device. 2008-06-17 13:02:56 +00:00
Florian Pose 25ffc9f638 Create class device with device_number information in sysfs. 2008-06-17 12:49:06 +00:00
Florian Pose 1553af9375 Create device class. Preparation for device numbers in sysfs. 2008-06-17 12:19:17 +00:00
Florian Pose 06f499078d Improved ecdev_offer(). 2008-06-17 10:19:52 +00:00
Florian Pose e2c03b9e77 Removed kobject from master and module. Sysfs is gone! 2008-06-12 08:12:02 +00:00
Florian Pose 4eaaf49f14 Removed static from device. 2008-06-05 12:38:07 +00:00
Florian Pose 3b4cae9626 Added the new ethercat comman-line tool with lsec functionality. 2008-05-29 15:11:26 +00:00
Florian Pose 0b464bbdb8 Removed xmldev. 2008-05-29 08:28:22 +00:00
Florian Pose 267a4ddaa2 Added documentation. 2008-02-28 14:18:18 +00:00
Florian Pose 0921c356a1 Fixed typo SAVEOP -> SAFEOP. 2008-02-22 11:33:49 +00:00
Florian Pose 8e6efae673 Renamed master module parameters, re-formatted code documentation. 2008-02-21 09:24:56 +00:00
Florian Pose 3a50cd0ff1 Allow bus configuration when link is down. 2008-02-19 09:58:48 +00:00
Florian Pose 6189092aed Implemented most realtime interface changes for version 1.4, improved
ec_pdo_t and ec_pdo_entry_t classes, added fmmu_config_t, adjusted
minimal example, etc...
2008-02-19 08:22:20 +00:00
Florian Pose c5b3ade0c0 Updated Doxygen documentation. 2007-09-24 12:12:11 +00:00
Florian Pose ce972fd4fc Broadcast MAC address accepts first device. 2007-08-10 15:04:06 +00:00
Florian Pose 8b1ad52b23 Fixed missing semaphore initialization. 2007-03-12 16:40:23 +00:00