lkml.org 
[lkml]   [2002]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] unified SysV and Posix mqueues as FS
 > - notification not tested
> - still linear search in queues

Is that a problem? Receive does one linear search of the queued
messages, send does one linear search of the waiting receivers. Both
lists should be short.

Could you split your patch into the functional changes and cleanup?
(const, size_t, you move a few definitions around, whitespace cleanups)

I don't like the deep integration of the mqueues into the sysv code - is
that really needed?
For example, you add the mqueue messages into the sysv array, and then
add lots of code to separate both again - IPC_RMID cannot remove posix
queues, etc.

Have you tried to separate both further? Create a ramfs like filesystem,
store msg_queue in the inode structure?
The ids array is only for sysv, only the actual message handling is
shared between sysv msg and posix mqueues

> + msq->q_flags |= MSG_UNLK;
Is a "unlinked" flag needed for sysv msg? When a message queue is
deleted, all pending writes and reads are cancleled.
Copy and paste from shm? shm needs unlinked handling, msg doesn't.

> + msq->q_perm.key = IPC_PRIVATE; /* Do not find it any more */
Does that work? The key is only needed for msgget(), not for msgsnd() or
msgrcv()
> + msg_unlock (inode->i_ino);

--
Manfred


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:30    [W:0.049 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site