On 20.12.2017 13:24, Christian Borntraeger wrote: > On 12/13/2017 01:53 PM, Janosch Frank wrote: >> A shadow gmap and its parent are locked right after each other when >> doing VSIE management. Lockdep can't differentiate between the two >> classes without some help. >> /** >> * struct gmap_struct - guest address space >> * @list: list head for the mm->context gmap list >> diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c >> index cb03646..86a12f3 100644 >> --- a/arch/s390/mm/gmap.c >> +++ b/arch/s390/mm/gmap.c >> @@ -199,10 +199,8 @@ static void gmap_free(struct gmap *gmap) >> gmap_radix_tree_free(&gmap->host_to_guest); >> >> /* Free split pmd page tables */ >> - spin_lock(&gmap->guest_table_lock); >> list_for_each_entry_safe(page, next, &gmap->split_list, lru) >> page_table_free_pgste(page); >> - spin_unlock(&gmap->guest_table_lock); > > Any reason why you only remove these? They were inserted when I had some locking problems on split pages. After I spoke to Martin and checked that we absolutely have no reference to the gmap anymore and hence can not end up in gmap_split_free at the same time I decided to remove them. However, they should rather have never been introduced in the split patch than being removed here... My current internal branch has this fixed, as well as some other rebasing mistakes.
Attachment:
signature.asc
Description: OpenPGP digital signature