What is the benefit of using one to one thread mapping model instead of Many to Many or two level?
I am gonna be very careful here and say it is due to complexity of managing threads at two different levels did not produce the expected results, the lack of a direct mapping caused issues meeting POSIX threads requirements. Notice that in the book it says that Solaris 8 and before have implemented many to many model. Here you can see the document they "explain" the retirement of this model.


  The Solaris 9 Operating Environment does not include an alternate threads implementation. The
  old MxN implementation has been gracefully retired and replaced with an enhanced version of
  the 1:1 implementation. The /usr/lib/lwp directories which held the alternate library in Solaris 8
  software have been preserved, but these now simply link back to /usr/lib.
  Extensive testing indicates that this decision should cause no issues for existing applications.
  Most applications are expected to benefit from this move and binary compatibility is preserved.


Again, sadly, there was nothing concrete stated as reason, but my guess will be complexity.