Smoke penetrates meat up to about 60C. So, the question is not so much how long, but to what temperature. When cold smoking, having smoke applied for 24 hours will be beneficial. If your smoker is at 180C, then anything past the first hour or even 1/2 hour is unlikely to make much difference.
When cooking meat, the best results are usually achieved by cooking at very low temperatures (60-80C) for an extended amount of time, then towards the end of the cook, raise the temperature about 20C above target and wait for the meat to get there. If you want to get caramelisation (browning) on the outside, take the meat out of the BBQ/smoker, ramp up the temperature (at least 180C, because the Mailard point is just above 150C) and then return the meat to the hot environment for a brief amount of time.
I usually do very thick steaks by smoking them for about 40-50 minutes at around 70-80C, until the internal temp reaches about 45C. Get them off the BBQ, ramp up the temperature to about 220C (easy to do with real charcoal), then return the steaks to the BBQ for about 3-5 minutes per side until internal temp hits 58-60C. That tends to give the "product shot" grill marks on the steak and raises the internal temperature to just below the point where the cells burst and all the juice floods out. I rarely eat steak in restaurants these days, because very few places can cook steak properly.