Hi
I brought up uml with smp support. I used the vanilla kernel 2.4.20 and
the patch uml-patch-2.4.20-1.bz2.
I wrote a small kernel module.
This module registers to netfilter hooks. and the netfilter callback
function has the following callback functionality.
if(smp_processor_id() == 0)
spin_lock(&mylock);
printk("the packet received on the smp %d\r\n,smp_processor_id());
return NF_ACCEPT;
I am acquiring the lock when the smp_processor_id ==0 and, I am never
releasing the lock. This lock is never acquired by any other processor.
For the first packet that is recieved on the processor 0, the lock is
acquired and not released. For the next packet that is received on the
processor 0, the lock is again tried to be acquired. So it will spin
on that lock. If the ping is continuing, then I expected that other
processors would be processing the ping request. Only processor 0 would be
spinning and other processors would be processing. But the uml hanged,
the backtrace in the gdb shows process state of the cpu0.
Is there any bug in my approach??? I would also like to know, what other
processors are doing in the uml functionality. I could not understand
how this can be done. Kindly show me the pointers.
regards
Suresh
Suresh
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user