[BLE] GKI buffers allocation increases abnormally

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_2112781
Level 4
Level 4
10 likes received 10 likes given 5 likes given

Hello,

I'm trying to get the Bluetooth working on a my board but somehow I very often get the error:

GKI_exception 65524 getbuf: out of buffers

GKI_exception(): Task State Table

My pools are the following:

64 * 4

360 * 100

360 * 100

600 * 1

I tried to see what was happening by launching a periodic task that prints the state of the buffers using the GKI_* routines and it turns out that sometimes the buffers get filled in very quickly, in less than a second I get the two 360 buffers full. Why that ?

I can't really find a pattern for the behaviour, it happens when I launch a scan or when I try to discover the services of a connected device.

What are the recommendations for the pools sizes ? I don't find any documentation.

Thank you.

Arthur.

0 Likes
2 Replies
user_2112781
Level 4
Level 4
10 likes received 10 likes given 5 likes given

Up. I now very often get this issue when trying to connect to a device, I tried to set 1000 buffers of 360 but it doesn't change anything, they get full.

0 Likes
Anonymous
Not applicable

Hi,

Pools defined by you seems to be fine for a typical bluetooth application - BUT I'd recommend to increase the number of buffers in the 4th pool bit more.

This is what you could try with :

64 * 4

360 * 100

360 * 100

600 * 10

Please share if above works or not -  If it does not please share more details on following:

-  Platform/Board being used

- SDK version in use

- What kind of application which you've been trying ? Is it a dual-mode(classic) or Low-energy bluetooth application ?

- Any sequence of step or any necessary condition to generate these GKI errors ?

Thanks,