Unless you're running a sod-old kernel (ie pre-2.6.18, released September 2006) or have done something custom, you're already running a "fair queuer between samba and harddisk" -- the Linux kernel runs with CFQ by default. This is a pretty decent queuing algorithm that works well for a wide variety of workloads and hardware configurations (we turn it off on our BBU-hardware-write-cache-using systems and replace it with noop because the RAID controller we use knows how to handle I/O better than the kernel, but that's a pretty niche corner case -- CFQ will work better for 99% of systems deployed).
The benefits you'll get from a different queuing algorithm are peanuts compared to the benefits you'll get out of a better performing storage layer. RAID5 isn't built for speed (and, with big drives, it isn't built for data safety, either), 2TB (ie 7200rpm SATA) HDDs aren't built for speed... basically, you're asking "my '93 station wagon is full of sacks of flour, what tyres should I use so I can win the Indy 500?"