diff --git a/.gitmodules b/.gitmodules
index d2ab9ed6689b47e7b7a305d07ea97ffb3405a740..5700a96a228746003b3736dd8599a95a28b2045a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -83,10 +83,6 @@
 	url = ../packages/unix.git
 	ignore = untracked
 	branch = 2.7
-[submodule "libraries/parallel"]
-	path = libraries/parallel
-	url = ../packages/parallel.git
-	ignore = untracked
 [submodule "libraries/stm"]
 	path = libraries/stm
 	url = ../packages/stm.git
diff --git a/ghc.mk b/ghc.mk
index 143afb9c9dfe10e1175e016c309d4a1bc787c2c3..47d260db9f4e4cc8c231c158ece3dd696944c03b 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -1206,9 +1206,6 @@ GIT_COMMIT_ID:
 
 sdist-ghc-prep-tree : VERSION GIT_COMMIT_ID
 
-# Extra packages which shouldn't be in the source distribution: see #8801
-EXTRA_PACKAGES=parallel
-
 .PHONY: sdist-ghc-prep-tree
 sdist-ghc-prep-tree :
 	$(call removeTrees,$(SRC_DIST_GHC_ROOT))
@@ -1223,7 +1220,6 @@ sdist-ghc-prep-tree :
 	$(call removeTrees,$(SRC_DIST_GHC_DIR)/libraries/stamp/)
 	$(call removeTrees,$(SRC_DIST_GHC_DIR)/compiler/stage[123])
 	$(call removeFiles,$(SRC_DIST_GHC_DIR)/mk/build.mk)
-	for i in $(EXTRA_PACKAGES); do $(RM) $(RM_OPTS_REC) $(SRC_DIST_GHC_DIR)/libraries/$$i/; done
 	cd $(SRC_DIST_GHC_DIR) && "$(FIND)" $(SRC_DIST_GHC_DIRS) \( -name .git -o -name "autom4te*" -o -name "*~" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" \) -print | "$(XARGS)" $(XARGS_OPTS) "$(RM)" $(RM_OPTS_REC)
 
 # Add files generated by alex and happy.
diff --git a/hadrian/src/Base.hs b/hadrian/src/Base.hs
index 277d6148ab31b3fed8328b2d13b417692835c0ec..77eec0a48aeb275b36314e0c6429f06ce0dcc1f2 100644
--- a/hadrian/src/Base.hs
+++ b/hadrian/src/Base.hs
@@ -34,7 +34,7 @@ import Control.Monad.Reader
 import Data.List.Extra
 import Data.Maybe
 import Data.Semigroup
-import Development.Shake hiding (parallel, unit, (*>), Normal)
+import Development.Shake hiding (unit, (*>), Normal)
 import Development.Shake.Classes
 import Development.Shake.FilePath
 import Development.Shake.Util
diff --git a/hadrian/src/Packages.hs b/hadrian/src/Packages.hs
index f32661e534d279d61d66e9dfbc23400126f01dd0..02dc1343873a91894e34dfce696baaa26c3b039b 100644
--- a/hadrian/src/Packages.hs
+++ b/hadrian/src/Packages.hs
@@ -6,7 +6,7 @@ module Packages (
     filepath, genapply, genprimopcode, ghc, ghcBoot, ghcBootTh, ghcCompact,
     ghcHeap, ghci, ghcPkg, ghcPrim, ghcSplit, haddock, haskeline,
     hsc2hs, hp2ps, hpc, hpcBin, integerGmp, integerSimple, iserv, libffi,
-    libiserv, mtl, parsec, parallel, pretty, primitive, process, rts, runGhc,
+    libiserv, mtl, parsec, pretty, primitive, process, rts, runGhc,
     stm, templateHaskell, terminfo, text, time, timeout, touchy, transformers,
     unlit, unix, win32, xhtml, ghcPackages, isGhcPackage,
 
@@ -35,7 +35,7 @@ ghcPackages =
     , filepath, genapply, genprimopcode, ghc, ghcBoot, ghcBootTh, ghcCompact
     , ghcHeap, ghci, ghcPkg, ghcPrim, haddock, haskeline, hsc2hs, hp2ps
     , hpc, hpcBin, integerGmp, integerSimple, iserv, libffi, libiserv, mtl
-    , parsec, parallel, pretty, process, rts, runGhc, stm, templateHaskell
+    , parsec, pretty, process, rts, runGhc, stm, templateHaskell
     , terminfo, text, time, touchy, transformers, unlit, unix, win32, xhtml
     , timeout ]
 
@@ -82,7 +82,6 @@ libffi              = top  "libffi"
 libiserv            = lib  "libiserv"
 mtl                 = lib  "mtl"
 parsec              = lib  "parsec"
-parallel            = lib  "parallel"
 pretty              = lib  "pretty"
 primitive           = lib  "primitive"
 process             = lib  "process"
diff --git a/hadrian/src/Rules/SourceDist.hs b/hadrian/src/Rules/SourceDist.hs
index 8bec3f3b261be0a888ebfc8f8b9a9f2f2f030bc0..6e56c666b6eceb0d5eab8efce27d8516715493b3 100644
--- a/hadrian/src/Rules/SourceDist.hs
+++ b/hadrian/src/Rules/SourceDist.hs
@@ -68,7 +68,6 @@ prepareTree dest = do
         , Test "libraries//ghc.mk"
         , Test "libraries//include/Hs*Config.h"
         , Test "libraries/dph"
-        , Test "libraries/parallel"
         , Test "libraries/primitive"
         , Test "libraries/random"
         , Test "libraries/stm"
diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs
index 01fc01430b41062a80780e520a76e87879eac61a..cec1d6616a99ca34d7f3856f4e06f1c1e61222d6 100644
--- a/hadrian/src/Settings/Default.hs
+++ b/hadrian/src/Settings/Default.hs
@@ -135,7 +135,6 @@ testsuitePackages = do
              , hp2ps
              , hsc2hs
              , iserv
-             , parallel
              , runGhc
              , unlit         ] ++
              [ timeout | win ]
diff --git a/libraries/parallel b/libraries/parallel
deleted file mode 160000
index 4a04f41b7e2857ab8a09bcb8ed0b346516b0c817..0000000000000000000000000000000000000000
--- a/libraries/parallel
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4a04f41b7e2857ab8a09bcb8ed0b346516b0c817
diff --git a/packages b/packages
index 2f4dfd112a9a9dfb6f3d9830ee0a3c0de1e072fa..40141ac21731d7ec92661f769704f8af93484121 100644
--- a/packages
+++ b/packages
@@ -65,6 +65,5 @@ libraries/unix               -           -                               ssh://g
 libraries/Win32              -           -                               https://github.com/haskell/win32.git
 libraries/xhtml              -           -                               https://github.com/haskell/xhtml.git
 nofib                        nofib       -                               -
-libraries/parallel           extra       -                               ssh://git@github.com/haskell/parallel.git
 libraries/stm                -           -                               ssh://git@github.com/haskell/stm.git
 .                            -           ghc.git                         -