Hi everyone,
I had a few questions
What all should I work upon before applying
and
Will a mentor be assigned to me or do I need to discuss with the mentor and
then submit proposal with mentor name mentioned?
s
Any improvements or suggestion?
On Thu, Mar 21, 2019 at 2:09 PM Mojca Miklavec wrote:
> Dear Mihir,
>
> (CC-ing another student with a similar question and no particular
> project proposal yet.)
>
> Welcome to the MacPorts community!
>
> On Thu, 21 Mar 2019 at 08:20, Mihir Lut
Hi there,
@Mojca Miklavec I have been working on getting a good
understanding of MacPorts base.
My project would be trace mode optimisation.
I feel I have come quite far in understanding the trace mode working in
code.
I have made plans on what I will do for the project and have started to
unde
Thanks for the helpful response ^_^
Directly altering the code in the base, maybe I am not that much ready I
guess.
I think making a small introduction in the documentation for newcomers to
MacPorts community to get a really easy high level understanding on how the
MacPorts code flows to get trac
hey everyone,
I was checking porttrace.tcl code.
In the code tracelib is being used both as a command and a variable name.
While loading darwintrace library through DYLD_INSERT_LIBRARIES,
tracelib is used as a variable for storing darwintrace library path.
I renamed that tracelib variable to be
Hi,
I wanted to contribute to the MacPorts documentation.
The guide says that it currently is in docboook format with work in
progress to change it to adoc.
Actually I got a bit confused with this.
Where exactly should I add a file in order to create a new section?
Like currently there are 7 secti
?
On Sun, Mar 24, 2019 at 12:22 AM Mihir Luthra <1999mihir.lut...@gmail.com>
wrote:
> Hi,
>
> I wanted to contribute to the MacPorts documentation.
> The guide says that it currently is in docboook format with work in
> progress to change it to adoc.
> Actually I got
Thanks for the helpful information ^_^.
Wiki seems to be a the right place to put all this information and later
(if possible), maybe some quick links on the main website to these wiki
pages would be helpful.
For now I guess you are right, will put anything I document on wiki.
Regards,
Mihir
re lock free primitives. ^_^.
Regards,
Mihir
On Tue, Mar 26, 2019 at 1:19 AM Clemens Lang wrote:
> Hi,
>
> On Wed, Mar 20, 2019 at 09:06:11PM +0530, Mihir Luthra wrote:
> > I am not a master in dealing with low-level system stuff, but as I
> > have worked pretty much with unix
Hi,
I have shared my draft application from the GSoC dashboard.
Please provide me with feedbacks. :)
Also, should I share the link to document here as well?
Regards,
Mihir
On Wed, Mar 27, 2019 at 10:22 PM Mojca Miklavec wrote:
> Dear Mihir,
>
> On Wed, 27 Mar 2019 at 17:25, Mihir Luthra wrote:
> >
> > Hi,
> >
> > I have shared my draft application from the GSoC dashboard.
> > Please provide me with feedbacks. :)
>
> Ple
Hi there,
I had a question.
Before the build, dependencies are checked.
Enabling trace mode hides incompatible versions of the current software
being installed or the versions installed by other package managers and
more such.
The injected darwintrace.dylib will replace file operations if needed t
>
>
> Hi Mihir,
>
> On Thu, Mar 28, 2019 at 12:07:20AM +0530, Mihir Luthra wrote:
> > On Wed, Mar 27, 2019 at 10:22 PM Mojca Miklavec
> wrote:
> > > What I miss a bit is some clear definition of deliverables, what
> > > pieces of code would be suitable e
Hi,
I need help understanding *static* *int* TracelibRunCmd(Tcl_Interp *in),
it has blown my mind, I am totally new with these kevents.
I have been trying to understand that from a while now.
Till what I understand, the thread responsible for creating server
eventually calls tracelib run
and then
Hi there,
@Mojca Miklavec As I told you before, I will be
documenting trace mode alongside with understanding it,
I have been working on that
https://docs.google.com/document/d/15cVbH6f6hBr9HryJEHUZEbRsToN1BAjY8My-oRstO9A/edit#heading=h.oby3p7ljhsu
Sorry I told you I will get it done by the en
Hi Clemens,
I was wondering if the trace mode optimisation project would be sufficient
for entire summer?
Because maximum effort is about understanding the code which needs to be
done before gsoc starts.
After that maybe the shared memory concept can be achieved within a month.
Maybe testing that
>
>
>
> Note that kevent(2) is a multi-purpose API. The call you refer to as (1)
> is not actually the mainloop of tracelib run. Rather, the call a little
> further down is:
>
> keventstatus = kevent(kq, NULL, 0, res_kevents, MAX_SOCKETS, NULL))
>
> This will also return for new connections to th
>
>
> Mihir,
>
> The proposal is view-only. You might need to give comment-access for
> us to leave feedback on the draft.
>
> Done
Hi Clemens,
I had some points in mind about mapping more memory when we run out of
memory, which I wanted to discuss with you.
Also you are right, this project is not at all short. I realise now, many
conditions need to be taken care of while doing tasks.
Each process shared 2 types of memory. O
Hi,
I have made the memory expansion idea precise and filtered out bugs from
the one I sent previously.
Please check the pdf in the attachment.
Regards,
Mihir
MemoryExpansion.pdf
Description: Adobe PDF document
Hi Clemens,
I see you're getting the hang of the difficulties of the project now :)
>
That’s really encouraging for me to know that you think so ^_^
> You have the right ideas to solve the problem. Do keep in mind though
> that CAS will only work up to a word size or a double word size at most,
Hi,
I was trying to test the code by making changes but I am stuck with one
issue.
If I install from git and set it up I always receive this error message. [1]
1) I tried `make` on base code taken as it is from git without checking out
to latest version, it showed this error.
2) I tried `make` on
> That's unfortunately not the same, since while you're swapping the
> second value, a different thread could swap the first for a different
> value again.
>
I get your point.
Generally what comes to the mind in such circumstances is blocking the
other thread some way like mostly by spin locks.
Bu
>
>
> read [1] and related thread and probably I am too late to contribute
> through
> GSoC. So I give up.
>
>
> /davide
>
> [1]
> https://lists.macports.org/pipermail/macports-dev/2019-April/040495.html
Hi ,
https://docs.google.com/document/d/15cVbH6f6hBr9HryJEHUZEbRsToN1BAjY8My-oRstO9A/edit#he
On Tue, Apr 9, 2019 at 1:59 AM Clemens Lang wrote:
> Hi,
>
> On Sun, Apr 07, 2019 at 01:03:12AM +0530, Mihir Luthra wrote:
> > > Can you pastebin a main.log of a build that fails like this?
> >
> > https://pastebin.com/FVdp4WTw
>
> The problematic line
Hi everyone,
Kindly check my final proposal and provide any possible feedback.
https://docs.google.com/document/d/14eSXwZ6N1vRcBudaJWlwO5G17dY5B1nHgfhh52tSnv0/edit#
Regards,
Mihir
Hi,
Sorry for re-mailing. I know it's almost the last moment.
But if possible, please provide any possible feedback.
https://docs.google.com/document/d/14eSXwZ6N1vRcBudaJWlwO5G17dY5B1nHgfhh52tSnv0/edit#
Regards,
Mihir
Hi,
I needed some advise regarding ctrie implementation.
I was constructing the trie data structure which has to be operated from
the address space mapped by mmap(2).
In place of “array of next nodes”, I am using “array of offsets”.
the void * returned from calling mmap(2), I would type cast it a
Hi Clemens,
Kindly provide your suggestions for this.
In the path search Ctrie data structure, I categorised the paths with the
hash function working like:
If I input a path /test/files/abc.h for check
Here we have open to abc.h, the hash function simply makes it “12:abc.h"
where 12 is the length
Hi,
Thanks for the tips. ^_^
This is almost the same way as in the arXiv paper you shared with me.
As we are dealing with paths, I saw implementing the above hash function
would make the search faster as this happens quite a few times that files
with same name have same path length from the root.
Hi,
Sorry for the late response.
What's your current progress? Do you have some code already?
>
Currently I am done with a basic Ctrie implementation as suggested in the
arXiv paper that is capable of inserting and searching paths. The
implementation is still with pointers which I will convert s
Hi Clemens,
> What's your current progress? Do you have some code already?
>
I made a complete offset based ctrie implementation in which any process
can insert and search on basis of a shared memory. Kindly provide me with
your views on it :)
All main code is in [1].
The header file contains
Hi Clemens,
For making my implementation of shared memory data structure more space
efficient, I was trying to implement a stack which stores offsets to unused
locations in the shared memory file. But as stack is being shared it also
needs to be edited in a lock free way. While editing stack I nee
>
>
>
>
> From what I understand from the stackoverflow post you're right that
> cmxpchg16b will not give a consistent view of the 16 bytes of memory
> across multiple NUMA nodes. However, maybe two 4 byte values right next
> to each other would be sufficient for your use case and could then be
> c
t; code to also check folder symbolic links inside the MacPorts prefix
> against the database of ports.
>
> This would require intertwining the path lookup with path normalization.
> Keep that in mind for later, but don't do it now.
>
> Got it. Will do once this shared memory
Hi Clemens,
I have added the functionality of utilising the wasted memory in shared
memory and as per the tests that I made till now, it works fine and drops
memory usage to half. [1]
Although I haven’t updated readme to contain info about this new feature.
This is more of a highly separate module
Hi,
I have made many improvements to existing code.[1]
As for the latest details, in test file [2], where I have created 4 threads
and inputted 18,228 strings as arguments, it took
0.44 seconds for both insert and search 18228 threads at the same time and
3.5 MB memory (which is 4 times less as p
Hi Clemens,
Probably I solved some issues from before. One general reason I found was
that my file descriptor was getting closed by some process.
I handled that by checking in close.c that the fd getting closed is not
referencing my files. This has made some errors to vanish. Installation of
some
Hi Clemens,
The library seems to be working good now in the macports-base.
Although I wanted to know till what extent should I let the data be shared?
Like just among a single phase? or all the phases of a port installation
can share common trace mode data?
Sandbox gets set after every phase, so w
Hi,
I have implemented the points that we discussed till now in macports-base.
You can find the updated macports-base in my forked repository.
https://github.com/MihirLuthra/macports-base
I also have made many modifications to library to optimise it for use in
base. I haven’t updated in the read
Hi,
I noticed that on a “new" MacPorts installation, if we try to install
openssl with flags -st, it will fail.
Problematic lines in main.log with debug on are :-
:info:configure darwintrace[30583:0x10fc915c0]:
posix_spawn(/opt/original-base/var/macports/sip-workaround/502/usr/bin/perl5.18)
=
Hi everyone,
I have been working on trace mode optimisation project.
I have added the functionalities to improve the speed. [1]
I tested it on some ports, and it works stably.
Here are some comparisons I made on my machine:
In Original Code
Port gettext (+ deps :ncurses, libiconv, gperf) : 13 mi
>
> Hi Clemens,
I have added a readme to the repository with the latest updates.[1]
I have attempted to explain the code the best I could.
The code functions correctly in the macports-base for the 57 ports that I
tested.[2]
The speed improvements are decent as per me. In real I don’t know the
exp
Hi,
> This is certainly an improvement. How does it compare with running the
> same builds without trace mode? The ideal scenario would of course be to
> have trace mode incur only a barely noticeable performance penalty.
>
Kindly check out this link. I made the comparisons again for those ports
Hi jan,
> How exactly were these numbers obtained? Is it one run?
> An average of ten runs? All following a complete distclean?
> Is it the "real" time as reported by time(1) or somethin else?
> What are the other times reported by time(1), as in
>
> $ time sleep 5
> 0m05.01s real 0m0
hi,
i just wanted to ask a small question.
Is the sqlite3 database used in macports in memory? I don't have a nice
knowledge about databases. The main question concerning me is the time
taken by darwintrace calls to tracelib and querying of registry. This may
make a lot of difference if called on
Hi,
>
> The database lives on disk in ${portdbpath}/registry/registry.db. It has
> to, or we wouldn't have the D in ACID [1].
>
>
Probably then it should make a huge difference in hdd or fusion drives. All
tests I made were on ssd.
Also I tried connecting an external hdd, but when I tried installi
Hi,
> I would like to see the time for each run (if 10 runs, then 10 columns
> i.e., xx_run1, xx_run2, ...), rather than only average of them.
>
> Collect as much as insights we could, maybe we find some pattern or
> something that might help us (not sure what though). Since I have a
> feeling, w
Hi,
>
> Not necessary to stick to 10 runs, just because I said so. It can be
> even 3 or 5 runs. Whichever you feel seem to be good enough to give
> some insights. E.g., you might feel that after 3 runs you are getting
> constant time and not much difference, in another case you might get
> all d
Hi,
>
> With modern macOS and modern hardware there are performance effects that
> you can't control, perhaps most significantly thermal throttling, but
> also background jobs like Time Machine backups and iCloud sync.
>
> You need to apply a little bit of statistical theory. Standard error
> incr
Hi,
After the xcode update, there have been many question on stackoverflow
regarding gcc and g++ linking fails. Any ideas on what can be done?
https://stackoverflow.com/questions/58072318/cannot-link-any-c-program-with-gcc-on-mac-mojave
https://stackoverflow.com/questions/58073301/linker-error-w
Hi,
I was trying to add some code to a new directory in macports-base/src/ dir
such that I can use it in both porttrace.tcl(as a tcl cmd) and
darwintrace.c.
Basically it is a library that needs to be dynamically generated(because it
uses `__attribute__((constructor))`)
I see 2 choices:
1) To ge
Hi,
> In order to apply for GSOC we need to publish an up-to-date idea list.
>
> MacPorts base make a significant (80%?) portion of the ideas list, so
> it would be nice if we could make it clear as soon as possible whether
> we have ideally two mentors willing to mentor base projects.
>
> Marcus
> Without taking a closer look, I think there is only one other file that is
> shared between darwintrace and pextlib. Unfortunately, there is no good
> solution
> to this in the current structure. What it currently does is to copy the
> *.c file
> around during compilation, but I think this is a r
Hi,
There is something I am not able to understand in base.
Looking into aclocal.m4, based on the version of macOS, supported archs
are being determined. Based on them -arch flags are constructed.
For example, if using macos 10.13,
UNIVERSAL_ARCHFLAGS= -arch x86_64 -arch i386.
Would adding the
Hi,
Creating a static library from fat object files works fine as long as
> there's an index. That means using the -s option with ar, or running
> ranlib after creation. The usual command is "ar crs .a *.o".
>
>
I was making a static lib that can be used by both darwintracelib1.0 and
pextlib1.0.
> Why would a universal library be incompatible with building for a single
> arch? What is the actual failing command?
>
>
I went through the old travis builds again. it was because I added arch
flags to a variable named `CFLAFS` which being a typo never got added to
CFLAGS.
The issue is now resol
57 matches
Mail list logo