but the bike has alway surge from 900 to 1400 rpm.you ride it for about 5 block and it seems to idleand run fine.
During the engine warming up period (which is very short) there is a "warm up fuel table" (or enrichment factor as it's called) that is used by the engine to enrich the fuel mixture. That is needed because a cold engine can not fully vaporize the injected fuel. This enrichment factor is just like choking a carb. There is also an "idle up" table that is used by the ecm. It is perfectly normal to see an uplift in RPM (just like an engine w/ a carb) during the short warm up period.
Just because the bike has EFI, it does not mean the engine no longer needs to be choked during cold starting or no longer needs a little help during warm up.
You did mention that the bike always has done this. So has mine. There is a stop light about 5 blocks from my house. 90% of the time, my warm up table finishes by the time I get to that light,,and I can tell because the idle up RPM is now down to normal (1000).
The warm up enrichment factor has a "slope" which can be altered using a SEST. I adjusted the slope characteristics to eliminate most of the surging but I left my idle up table factory stock. When I seen my idle settle in at 1000, that tells me that the enrichment table is no longer being used and the ECM has toggled over to a straight fuel map..
***Now once the engine is warmed up,,,,if you still have surging or a racing idle, that's a whole different story. Lets say for example you filled up with fuel and it takes you 5 minutes before you restart the bike. I would NOT expect the idle to be lifted or the bike to surge when taking off down the road. If it does, then that is a whole different story. But from a STONE COLD engine, I would consider a 5 block warm up to be perfectly normal.***
But like I said earlier, if you really want to, you can make changes those two settings but it will take a SEST and a little trial and error on your part to do it.
(With 15K on the bike, make sure the stock air filter is clean)