Due to the rapid evolution of mobile processors and wireless networks, many personal mobile devices are able to support wide spectrum of Internet applications. In such systems, it is highly desirable to provide high-speed wireless communication while restraining the CPU from wasting its resources. Previous study has revealed that the bottlenecks of the communication on wireless devices are the data movements over not only the wireless link but also the bus between the memory and network controller. To overcome this performance limitation, we consider reducing the size of data traversing the bus and wireless link. In this paper, we suggest an efficient kernel-level TCP data compression scheme, which is transparent to the existing applications and can provide high-speed wireless communication. A challenging issue is that the performance gain should amortize the data compression overhead. The experimental results on realistic wireless Internet scenarios show that the modified Linux kernel can achieve better performance up to 60% and 72% than the original TCP over Wireless LAN and WiMAX, respectively. Moreover, we show that the suggested scheme can save more CPU resources in spite of data compression overhead.