---
**[tickets:#430] openocd Linux BitBang Driver + kernel 6.9 super slow**
**Status:** new
**Milestone:** 0.10.0
**Created:** Fri Apr 26, 2024 09:36 PM UTC by Kevin Wolfe
**Last Updated:** Fri Apr 26, 2024 09:36 PM UTC
**Owner:** nobody
A change in the linux kernel from 6.8 to 6.9 causes a large delay (up to
milliseconds if on the wrong core) when closing a gpio fd. This manifests in
substantially increased programming times (orders of magnitudes larger).
The root cause is in the linuxgpiod_swdio_drive() function, which releases and
reacquires the gpio resource on each bit change:
~~~
static void linuxgpiod_swdio_drive(bool is_output)
{
int retval;
/*
* FIXME: change direction requires release and re-require the line
* https://stackoverflow.com/questions/58735140/
* this would change in future libgpiod
*/
gpiod_line_release(gpiod_line[ADAPTER_GPIO_IDX_SWDIO]);
~~~
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/openocd/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.