On Mon, Jun 29, 2020 at 06:15:41PM -0700, Andrii Nakryiko wrote: > > > > +/* when rcu_read_lock_trace is held it means that some sleepable bpf program is > > + * running. Those programs can use bpf arrays and preallocated hash maps. These > > + * map types are waiting on programs to complete via > > + * synchronize_rcu_tasks_trace(); > > Wanted to leave comment that "map types are waiting" is outdated after > patch #1 and then recalled map-in-map complexities. So depending if > I'm right or wrong regarding issue in patch #1, this would stay or has > to be removed. Good catch. The comment is outdated. map-in-map is not supported with sleepable yet simply because I didn't have time to think it through. > > + verbose(env, > > + "Sleepable programs can only use array and hash maps\n"); > > nit: message is a bit misleading. per-cpu array is also an array, yet > is not supported. yes. It's generic to avoid updating it too often. map-in-map is also not supported yet, but it's a hash and array too.