Current downlink scheduling algorithms in the (enhanced) third-generation (3G) cellular packet systems exploit instantaneous channel status of multiple users, but most of them are blind to traffic information. To improve TCP users' perception of quality-of-services (QoSs), characterized by response delay, goodput, and always-on connectivity, we propose a cross-layer hierarchical scheduler with traffic awareness and channel dependence to properly prioritize buffer and radio resource allocation among different TCP classes. The scheduler has two tiers: At the IP layer, an intrauser scheduler enhances a common practice, i.e., the DiffServ-based buffer management, by dequeuing same-user TCP packets according to per-class specified and measured responsiveness; at the MAC layer, an interuser scheduler transmits the dequeued packets by considering the opportunistic channel states, mean throughput, and class ID of all users. Both tiers consider the online measured throughput, a cross-layer metric, to achieve resource and performance fairness and TCP classification. Experiments show that, compared with (variations of) Proportional Fairness (PF) and other schemes, our scheduler can notably speed up time-critical interactive TCP services (HTTP and TELNET) or TCP slow-starts with minor cost to bulk file transfer (FTP) or long-lived flows. It offers scalable and low-cost TCP performance enhancement over the emerging cellular systems.