Thanks for fast fixing of 'SD card doesn't start due to I/O pages
caching' bug.
But SD card still doesn't normally work on PandaBoard.
It seems that there are 2 more problems with it.
* *
*Bug 1.*
File cache subsystem generates an interrupt processing error _at
intensive read/write access to SD card_: in Vcpu interrupts are disabled
in the place where they should be allowed
(/ports-foc/contrib/l4linux/fs/buffer.c:1231/).
The same error occurs in qemu in other sub-system
(/ports-foc/contrib/l4linux/kernel/softirq.c:159/)
*Solution:*
Function prototype in /ports-foc/src/lib/l4lx/include/linux.h/:
/FASTCALL void l4x_irq_save(unsigned long *flags*);
/should be:
/FASTCALL void l4x_irq_save(unsigned long **flags*);/
So, value of interrupt state (enabling/disabling) was not properly
stored before above correction.
*Bug 2.*
L4Linux 'hangs' because of problem with its virtual block device _at
intensive read/write access to SD card on PandaBoard_.
In Genode block driver memory for storing of packages sent via IPC
sometimes is over /(ports-foc/src/lib/l4lx/genode_block.cc:281)/.
In such case L4Linux virtual block driver is blocked on semaphore
/(ports-foc/src/drivers/genode_block.c:98)/.
When memory for IPC packages storage in Genode block driver becomes
ready for use, driver sends signal to the thread '*blk-signal-thread*'
/(ports-foc/src/lib/l4lx/genode_block.cc:126)/.
Thread 'blk-signal-thread' catches the signal and generates interrupt by
calling function '*l4_irq_trigger*'
/(ports-foc/src/lib/l4lx/genode_block.cc:154)/.
But, L4Linux doesn't catch the interrupt and hangs.
In normal case interrupt is to be catched and interrupt handler
'*event_interrupt*' /(ports-foc/src/drivers/genode_block.c:172)/ should
be called; increment semaphore counter by 1
(/ports-foc/src/drivers/genode_block.c:146/) and thus un-block L4Linux
driver.
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Genode-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main