Re: 2.6.26.6-rt11: BUGs (sleeping function called from invalid context)

Fernando Lopez-Lezcano
2008-11-07T23:53:53Z

On Fri, 2008-11-07 at 22:47 +0100, Peter Zijlstra wrote:
> On Fri, 2008-11-07 at 13:35 -0800, Fernando Lopez-Lezcano wrote:
> > On Fri, 2008-11-07 at 20:16 +0100, Peter Zijlstra wrote:
> > > On Fri, 2008-11-07 at 14:01 -0500, Steven Rostedt wrote:
> > > > Peter, I think we've seen this before. It is the highmem code sleeping.
> > >
> > > I've been working on an alternative kmap_atomic implementation for -rt,
> > > the below has been build and booted but not stressed, anybody care to
> > > give it a spin ?
> >
> > I'll give it a try. Anything in particular I should try to do? Or not
> > do? Or watch for?
>
> Lots of I/O should stress the i386 highmem stuff. If all is well it
> works, if not, crashes and splats.

Crashes and splats on boot... sorry, I don't have a way to capture the
kernel oops (or whatever happens, I can only see the end of the
printout)

-- Fernando

PS: things left on the screen (top to bottom):

? speedstep_detect_processor
? __copy_from_user_ll_noccache_nozero
iov_iter_copy_from_user_atomic
? generic_file_buffered_write
generic_file_buffered_write
? avs_has_perm_noaudit
? __rt_spin_lock
? selinux_inode_need_killpriv
? __rt_spin_lock
mnt_drop_write
__generic_file_aio_write_nolock
generic_file_aio_write
do_sync_write
? __enqueue_entity
? autoremove_wake_function
? selinux_file_oermission
? security_file_permission
? do_sync_write
vfs_write
sys_write
? schedule_tail
? ret_from_fork
? thread_kernel_helper

> > -- Fernando
> >
> >
> > > ---
> > > arch/x86/mm/highmem_32.c | 130 ++++++++++++++++++++++++++++++++++++++++++---
> > > include/asm-x86/highmem.h | 11 ----
> > > include/linux/sched.h | 5 ++
> > > kernel/sched.c | 10 ++++
> > > 4 files changed, 137 insertions(+), 19 deletions(-)
> > > [MUNCH]
> >
> >