Tomato QOS issues

I’m running Tomato on a linksys router, And iv setup QOS
My internet has a max upload speed of 30KB’S that’s 240Kbit, download is 700KB max 5600Kbit

I setup QOS to allow 200Kbit upload and 5600Kbit download, with 3 classifications

  1. Games they are allowed %5~20% upload and 1% ~ 20% download
  2. everything else 5%~ 80% upload 1% ~ 80% download

My issue is when playing a game that takes 1KByte of upload and 1~5Kbytes of download and with 5KB of upload overhead that’s not accounted for, and setting the classifications to not go use more then they have. WHY does my game disconnect when there is heavy wan upload traffic. My game does not have high latency while heavy upload traffic is happening. It’s frustrating.

EDIT:
after typing this out, I theorize that the single 20KB/s upload connection + the other users browsing in the 2nd classification used up that 5kb overhead which caused my game to drop packets. (which still doesn’t make sense because whats the point of having classifications if the top priority drops packets…)

On a second note.
does anyone know of a way with Tomato QOS to create a rule that finds any network connection that uses over a certain amount of upload and download speed and throw it into a lower classification?

And if this cant be done on tomato, can this be done on PfSence or another operating system?

Edit:
I found this link that I think is the answer to my question. the current qdisk scheduler for QOS on my tomato router is SFQ, but this document explains that the scheduler can be manipulated by having connections open lots of small connections. My only other option sadly is pfifo and im not sure if it is a single stack or 1 per classification. I hope this helps someone in the future.
http://www.tldp.org/HOWTO/Traffic-Control-HOWTO/classless-qdiscs.html