My specs are: i7-930 @ 3.8 GHz, 15 GB DDR3, and R9-270x. I have a spare GTX 550 Ti (Fermi).
Is it possible and/or feasible for me to consider running linux as my main operating system and having Windows in a KVM with the R9 passed through to windows and using the 550 Ti as the host card? Will the performance be acceptable using this method, or should I consider upgrading before thinking about this?
Yes depending on if your motherboard supports it. You will have to blacklist the the r9 in Linux so it isn't used. Xen may be an easier route over KVM as well
Nope, it will not work in your case, you need a CPU with VT-d, and yours isn't capable of that: http://ark.intel.com/products/41447/Intel-Core-i7-930-Processor-8M-Cache-2_80-GHz-4_80-GTs-Intel-QPI
While possible and feasible, especially with the GPUs you want to use (it's easier to just blacklist radeon and fglrx altogether than to try and get them to stop fucking around with the second GPU).
However, you'd need a CPU/Chipset combination that supports AMD-Vi or VT-d (IOMMU is what it's called in FX990 BIOSes). What works for this is using the FX-83XX series together with pretty much any FX990 motherboard, if you'd rather be running Linux than Windows as your main system more than you like continuing using the same system.
However, having gotten a system like that to run, I'll have to make you aware of some things in advance should you want to do this:
1. You can only run the VM once every time you start the system, if you try and restart it it will not be able to initialize the video card. This is because the video card doesn't get reset properly by the guest OS.
2. With 16GB RAM, you're going to want to allocate 8GB to your VM. Say goodbye to huge browser sessions, as those won't fit in your RAM anymore.
3. To connect hard drives other than virtual ones to your Windows VM, you're either going to have to deal with SMB on Linux (SMB being the file transfer protocol Windows uses for sharing files in a LAN) or you're going to have to find a way to mount a path from the host file system in your Windows VM (which I have absolutely no idea how to accomplish with virt-manager, I just gave up at that point and went with a second motherboard with an i5 that I had, which is infinitely easier to set up... probably not something you'd want, though).
EDIT: I apparently didn't do everything as... intelligently as I should have. I hadn't added a user and thus couldn't set a password for SMB.
Not everybody has a SATA controller that isn't recognized by Linux at all to pass through to Windows (I do, and that's a good idea... I'll be keeping it in mind when I try this again, probably after the Win7 install I'm currently using stops working as they all eventually do; I have a Gigabyte GA-990FXA-UD5 that has a Marvell SATA controller that doesn't get recognized by Linux at all).
I have a board like that, hasn't given any problem in linux with the sata controller though.
Another option if you have USB 3.0 and an external USB 3.0 HDD, is to run bleeding edge linux, and use the new feature of being able to passthrough USB devices over TCP. Higher performance than samba.
Is this thread about VGA passthrough or about PCI passthrough?