Even if context switches don't cost anything, you still want to have
priorities so cpu hogs can be preempted by other tasks in order to
quickly respond to IO events. You want interactive tasks to be able
to sometimes get more cpu than cpu hogs, etc. Scheduling latency is
only a part of it.
Of course priorities are still necessary =) However assuming that
interactive tasks will always finish much much earlier than hogs, it's not
really worth it to give interactive tasks any special treatment when you
have very fine timeslices.
For example you have x that will use 100 ms and y that will use 5 ms, both
of the same priority. Assuming that x entered into the queue first and y
immediately after, at 20 ms timeslice, it will be 25 ms before y finishes.
However, at 1 ms timeslice, y finishes in 10 ms.