powerpc fixes for 4.6
- Fixup preempt underflow with huge pages from Sebastian Siewior - Fix altivec SPR not being saved from Oliver O'Halloran - Correct used_vsr comment from Simon Guo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJW/ki6AAoJEFHr6jzI4aWAH14QAKWhKBtOVNW0XHWMexfam4t2 W5R9OstmXCPzxK4xfXK2R4ixQDSg3XIsZhWlD36lEb8UqcGz0sshrKbcBO0ZKsNd 4zYkmK4lX8qiQ1fpZp/5ISIl6+kX3ogLzIsGcw7S3SedhQgpfOSNZOQIOxQeNkwg NCcVk8J7s2KVRQMRme85iaoWKOSDoW9vQ3Jem0w5uSUlG48jTIPEL16OckFt9CsI gHTTH6ypzWmYjfauMW3US3yCUB2maKsM4kDR9bvETu/32zvwAW6dP9164DhTrH5S 8frQeRXvlk3jbXlpUqRI4fGTWKoCufFCtRzYEUlYLxo+fxmqLX+VbbhLHoHJbA2Z 1wU/Q0vyK2XxFAV9BijJfnNqfejSGR/sKX1bxqs3dPxgeAP/0qU1DI6DX9GwSQum ikYAj1ZK7NUsnRcekMwfR/uoIQsDryTt9w/SQRoZ4xqpRNbjJM6bqbzeurNxIpKj 2LuxqJJFdy0iduTpmkVDeNUd5xwEYFDlt+p+uYlZhRE4EQTzUbysSUxAsbscazGX jJT/ACzco4B3qYYwepLVCV1oYFTL7/zissq6DGiO99DLOrRU1ON3We2Ouow+ykdV oD2DDz0kPFgmnECMhSl2pApCUeRG7Kw0QPT317W+DaPFDccgkOPg7u477aVvMlEP 3VHmTLoy+7ze0erDjFzo =9i5T -----END PGP SIGNATURE----- Merge tag 'powerpc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: - Fixup preempt underflow with huge pages from Sebastian Siewior - Fix altivec SPR not being saved from Oliver O'Halloran - Correct used_vsr comment from Simon Guo * tag 'powerpc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc: Correct used_vsr comment powerpc/process: Fix altivec SPR not being saved powerpc/mm: Fixup preempt underflow with huge pages
This commit is contained in:
commit
52bef0cb10
|
@ -246,7 +246,7 @@ struct thread_struct {
|
|||
#endif /* CONFIG_ALTIVEC */
|
||||
#ifdef CONFIG_VSX
|
||||
/* VSR status */
|
||||
int used_vsr; /* set if process has used altivec */
|
||||
int used_vsr; /* set if process has used VSX */
|
||||
#endif /* CONFIG_VSX */
|
||||
#ifdef CONFIG_SPE
|
||||
unsigned long evr[32]; /* upper 32-bits of SPE regs */
|
||||
|
|
|
@ -983,7 +983,7 @@ void restore_tm_state(struct pt_regs *regs)
|
|||
static inline void save_sprs(struct thread_struct *t)
|
||||
{
|
||||
#ifdef CONFIG_ALTIVEC
|
||||
if (cpu_has_feature(cpu_has_feature(CPU_FTR_ALTIVEC)))
|
||||
if (cpu_has_feature(CPU_FTR_ALTIVEC))
|
||||
t->vrsave = mfspr(SPRN_VRSAVE);
|
||||
#endif
|
||||
#ifdef CONFIG_PPC_BOOK3S_64
|
||||
|
|
|
@ -413,13 +413,13 @@ static void hugepd_free(struct mmu_gather *tlb, void *hugepte)
|
|||
{
|
||||
struct hugepd_freelist **batchp;
|
||||
|
||||
batchp = this_cpu_ptr(&hugepd_freelist_cur);
|
||||
batchp = &get_cpu_var(hugepd_freelist_cur);
|
||||
|
||||
if (atomic_read(&tlb->mm->mm_users) < 2 ||
|
||||
cpumask_equal(mm_cpumask(tlb->mm),
|
||||
cpumask_of(smp_processor_id()))) {
|
||||
kmem_cache_free(hugepte_cache, hugepte);
|
||||
put_cpu_var(hugepd_freelist_cur);
|
||||
put_cpu_var(hugepd_freelist_cur);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue