Preheat oven to 400 F.
In a skillet cook bacon until golden and chop.
Reserve 1 tbsp of the bacon fat or discard and use 1 tbsp olive oil and cook mushrooms with 1/4 tsp salt, 1/4 tsp garlic and 1/4 tsp black pepper.
Remove the silver skin of the pork tenderloin carefully using a sharp paring knife.
Cut the pork tenderloin lengthwise, without cutting through and open like a book. Pound with a meat mallet until it is 1/2 inch thick.
Season both sides with salt, pepper, garlic powder and Italian seasoning (optional).
Spread cream cheese on one side. Add the mushrooms, leaving about 1/2-inch outside borders. Add the bacon and spinach.
Roll the pork tenderloin into a log tightly. Secure with toothpicks at 5-6 spots or tie with butcher’s twine.
Heat 2 tbsp of olive oil (can use 1 tbsp olive oil + 1 tbsp butter) in a cast iron skillet or any oven safe pan at medium-high heat.
Add the pork tenderloin to the skillet, secured side down.
Cook for 2 minutes per side for all 4 sides. then transfer the pan to the oven and cook for additional 20 minutes, until a thermometer inserted in the middle reads 145 F -150 F.
Let the stuffed pork tenderloin rest on a cutting board for 5 minutes before you cut it.