On Fri, Sep 22, 2017 at 5:53 PM, Joerg Sonnenberger <jo...@bec.de> wrote: > On Fri, Sep 22, 2017 at 05:05:32AM +0000, Ryota Ozaki wrote: >> Module Name: src >> Committed By: ozaki-r >> Date: Fri Sep 22 05:05:32 UTC 2017 >> >> Modified Files: >> src/sys/net: route.c >> >> Log Message: >> Remove the global lock for rtcache >> >> Thanks to removal of LIST_ENTRY of struct route, rtcaches are accessed only >> by >> their users. And in existing usages a rtcache is guranteed to be not accessed >> simultaneously. So the rtcache framework doesn't need any exclusion controls >> in itself. > > I'm a bit suspicous about this since the generation counter is not > atomic. So what guarantees that route manipulations of different > subsystems don't race?
If !NET_MPSAFE, it's softnet_lock, however, if NET_MPSAFE, nothing guarantees that as you suspect. I've fixed the issue. Thanks! ozaki-r