On Wed, 2018-02-07 at 16:19 +0900, 배석진 wrote: > Dear Dumazet, > > > although with your changes, the problem still there. > own_req couldn't update the lost_race as you wanted. > maybee it needs additional locking method. >

We are not going to add udelay(500) in a loop to solve a race, sorry. My patch should work, because the lost_race is true means that the other cpu had put its new (full blown) socket into the hash table. So this cpu should find it while doing its second lookup. If not, too bad. Maybe socket has already been accept() and close()