Preheat an oven to 400 degrees and line a baking sheet with parchment paper. Set aside.
Heat a heavy bottomed skillet or cast iron skillet over medium heat.
Add the diced bacon, cook until just crisp.
Add in shallots and garlic, cooking until just fragrant, about thirty seconds.
Add the diced mushrooms to the pan, cooking until tender.
Stir in the spinach and cook until wilted. Remove from the heat and set aside.
Place a layer of plastic wrap on a clean cutting board. Then put the pork tenderloin on top of it. Pull off any thick layer of fat that remains.
Slice the pork down the middle (in a butterfly fashion), being careful to not go all the way through. It should be 1/2 inch thick at the thinnest part after slicing.
Lay another layer of plastic wrap on top. Use a meat tenderizer or a rolling pin to flatten the pork tenderloin. It should be about a 1/2 inch thick all the way through when you are finished.
Remove the top layer of plastic. Add the mushroom and spinach mixture. Very carefully roll up the pork tenderloin. Use multiple toothpicks to secure it.
Place the stuffed pork tenderloin toothpick side down on a parchment lined baking sheet. Rub with olive oil and season with kosher salt and freshly ground black pepper.
Roast until an instant read thermometer registers 145 to 150 degrees, about 25 to 35 minutes. Remove from the oven, tent with aluminum foil, and let rest for 10 minutes before slicing.