提交 80422977 编写于 作者: C Christoph Hellwig 提交者: Linus Torvalds

fix spufs build after ->fault changes

83c54070 broke spufs by incorrectly
updating the code, this patch gets it to compile again.

It's probably still broken due to the scheduler changes, but this
at least makes sure cell kernels can still be built.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: NGeoff Levand <geoffrey.levand@am.sony.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 efffbeee
......@@ -74,18 +74,18 @@ static int spu_handle_mm_fault(struct mm_struct *mm, unsigned long ea,
goto bad_area;
}
ret = 0;
fault = handle_mm_fault(mm, vma, ea, is_write);
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM) {
*flt = handle_mm_fault(mm, vma, ea, is_write);
if (unlikely(*flt & VM_FAULT_ERROR)) {
if (*flt & VM_FAULT_OOM) {
ret = -ENOMEM;
goto bad_area;
} else if (fault & VM_FAULT_SIGBUS) {
} else if (*flt & VM_FAULT_SIGBUS) {
ret = -EFAULT;
goto bad_area;
}
BUG();
}
if (fault & VM_FAULT_MAJOR)
if (*flt & VM_FAULT_MAJOR)
current->maj_flt++;
else
current->min_flt++;
......@@ -210,15 +210,15 @@ int spufs_handle_class1(struct spu_context *ctx)
* In case of unhandled error report the problem to user space.
*/
if (!ret) {
if (flt == VM_FAULT_MINOR)
ctx->stats.min_flt++;
else
if (flt & VM_FAULT_MAJOR)
ctx->stats.maj_flt++;
if (ctx->state == SPU_STATE_RUNNABLE) {
if (flt == VM_FAULT_MINOR)
ctx->spu->stats.min_flt++;
else
ctx->stats.min_flt++;
if (ctx->state == SPU_STATE_RUNNABLE) {
if (flt & VM_FAULT_MAJOR)
ctx->spu->stats.maj_flt++;
else
ctx->spu->stats.min_flt++;
}
if (ctx->spu)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册