Re: [9fans] notes and traps

2008-08-30 Thread cinap_lenrek
> i'm not convinced that you've explained why this change is > correct or why it could solve the problem. after all, the > NNOTED array is only 5 entries long. what if one gets 5 > user notes before the system note? > do you kill the process (isn't this how it works now?), > make notes unreliable

Re: [9fans] notes and traps

2008-08-30 Thread cinap_lenrek
> > I'm not claiming anyone to be wrong. I want to solve > > this problem. > > i'm not sure there is a problem with notes. but i really can't > answer that question. someone with a better understanding > of what notes are supposed to be could answer this. > > > I also noted that i think this is

Re: [9fans] notes and traps

2008-08-30 Thread erik quanstrom
> I'm not claiming anyone to be wrong. I want to solve > this problem. i'm not sure there is a problem with notes. but i really can't answer that question. someone with a better understanding of what notes are supposed to be could answer this. > I also noted that i think this is the correct beh

Re: [9fans] notes and traps

2008-08-30 Thread Steve Simon
purely as an aside this detailed conversation on how notes are handled in the kernel is very interesting, I was trying to understand this myself recently and gave up; I will now try again. Thanks, -Steve

Re: [9fans] notes and traps

2008-08-29 Thread cinap_lenrek
> i think you may be misunderstanding what i'm saying. > the test for n->flag does not appear to be accidental. > i am not quite sure why that test is there, but i go on > the assumption that presotto knew what he was doing. > if you're going to claim he was wrong, i think you'd better > have good

Re: [9fans] notes and traps

2008-08-29 Thread erik quanstrom
> No! Notes are bufferd in the up->note[] array. If you are in the note handler, > another process *can* send you further (NUser) notes without doing any harm. > > If we are in the note handler (up->notified == 1) and notify() gets hit, > it will do nothing and return 0 see: > > /sys/src/9/pc/tra

Re: [9fans] notes and traps

2008-08-29 Thread cinap_lenrek
> > i can reproduce it with this: > > > > http://cm.bell-labs.com/sources/contrib/cinap_lenrek/traptest/ > > > > 8c test.c > > 8a int80.s > > 8l test.8 int80.8 > > ./8.out > > > > 8.out 12490667: suicide: sys: trap: general protection violation > > pc=0x1333 > > okay. it seems pretty clea

Re: [9fans] notes and traps

2008-08-29 Thread erik quanstrom
> i can reproduce it with this: > > http://cm.bell-labs.com/sources/contrib/cinap_lenrek/traptest/ > > 8c test.c > 8a int80.s > 8l test.8 int80.8 > ./8.out > > 8.out 12490667: suicide: sys: trap: general protection violation > pc=0x1333 okay. it seems pretty clear from the code that you'r

Re: [9fans] notes and traps

2008-08-29 Thread Kernel Panic
Kernel Panic wrote: http://cm.bell-labs.com/sources/contrib/cinap_lenrek/traptest/ 8c test.c 8a int80.s 8l test.8 int80.8 ./8.out 8.out 12490667: suicide: sys: trap: general protection violation pc=0x1333 the parent process loops and does "fake" syscalls while the child posts notes to it

Re: [9fans] notes and traps

2008-08-29 Thread Kernel Panic
erik quanstrom wrote: it would also be interesting to know if you are seeing this randomly or if you can reliable reproduce this condition. i can reproduce it with this: http://cm.bell-labs.com/sources/contrib/cinap_lenrek/traptest/ 8c test.c 8a int80.s 8l test.8 int80.8 ./8.out 8.out 1249

Re: [9fans] notes and traps

2008-08-28 Thread Kernel Panic
erik quanstrom wrote: it looks like you get the second trap while you are still in your notify handler, since i think this test (up->notified || up->notify==0) is for a proc in a notify handler getting a system trap (or a proc with no notify handler). right, the problem is, my note ha

Re: [9fans] notes and traps

2008-08-28 Thread erik quanstrom
it looks like you get the second trap while you are still in your notify handler, since i think this test (up->notified || up->notify==0) is for a proc in a notify handler getting a system trap (or a proc with no notify handler). it would be very interesting to know what the system trap is

[9fans] notes and traps

2008-08-28 Thread Kernel Panic
I run into an interesting problem with linuxemu. The problem *seems* to be that traps can be enqueued in the process note array *after* some other note causing notify() to kill us. Please correct me if i miss(understand) something here. It just hit my mind after hours of late night debugging. T